解题关键点
对每头牛按
wi+si
的大小从小到大排序,可以使得每一头奶牛的最大危险系数最小
实现代码
#include<iostream>
#include<algorithm>
using namespace std;
//重量和强壮之间有一个权衡
//将wi+si从小到大排序,可使每一头奶牛的最大危险系数最小
typedef pair<int,int> PII;
const int N = 50010;
PII a[N];
int main(){
int n;
cin >> n;
for(int i = 0;i < n;++ i){
int w,s;
cin >> w >> s;
a[i].first = w + s;
a[i].second = w;
}
sort(a,a + n);
int weightSum = 0;
int res = -2 * 1e9;
for(int i = 0;i < n;++ i){
res = max(res,a[i].second- a[i].first + weightSum);
weightSum +=a[i].second;
}
cout << res;
return 0;
}