CF1680A 题解

Jerrlee✅

2022-05-15 14:40:29

Solution

## 题意 如果满足以下两个条件,则数组是美丽的: - 数组中至少有 $l_1$ 并且最多有 $r_1$ 个值等于数组所有值的最小值; - 数组中至少有 $l_2$ 并且最多有 $r_2$ 个值等于数组所有值的最大值。 求这个数组内包含的元素数量的最小值。 ## 思路 观察样例,发现当 $l_1 \sim r_1$ 与 $l_2 \sim r_2$ 有共同的数时,选择 $l_1$ 和 $r_1$ 的最大值即可(最大值此时也是最小值)。 当 $l_1 \sim r_1$ 与 $l_2 \sim r_2$ 无共同的数时,既要满足最小值的数量要求,也要满足最大值的数量要求,那数组不仅包括 $l_1$ 个最小值,还得包括 $l_2$ 个最大值,答案就是 $l_1+l_2$。 ## 代码 ```cpp #include<iostream> using namespace std; int main(){ int t; cin>>t; while(t--){ int a,b,c,d; cin>>a>>b>>c>>d; if(a>=c&&a<=d) cout<<a; else if(c>=a&&c<=b) cout<<c; else cout<<a+c; cout<<endl; } } ``` [AC 记录(洛谷)](https://www.luogu.com.cn/record/75791398) [AC 记录(CF)](https://codeforces.com/contest/1680/submission/157255704)