AT_arc094_c 题解
QWQ_jyc
·
·
题解
我们可以把一个数据分为 3 种情况。
$\bullet$ $a_i<b_i$ 时,因为为了增加操作次数,第一个人一定会让 $a_i$ 变成 $0$,所以第二个人肯定也会让 $b_i$ 也变为 $0$,因此用了 $b_i$ 步。
$\bullet$ $a_i>b_i$ 时,因为第一个人肯定无法将 $a_i$ 变为 $0$。所以会用 $a_i-b_i$ 步。
于是可以看出答案就是每个 $b_i$ 相加的总和减去某一满足 $a_i>b_i$ 的 $b_i$ 的最大值。
代码:
```cpp
#include<bits/stdc++.h>
using namespace std;
long long n,a[114514],b[114514],s,m;
int main() {
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i];
s+=a[i];
}
for(int i=1;i<=n;i++) {
if(b[i]<a[i])
m=max(m,s-b[i]);
}
cout<<m<<endl;
return 0;
}
```