P1842 [USACO05NOV]奶牛玩杂技

MIku

规律:(w_1+s_1<w_2+s_2)


      #include<iostream>
      #include<cstdio>
      #include<algorithm>
      using namespace std;
      int n;
      struct c{
	      long long w;
	      long long s;
      }cow[50005];
      long long ans;
      long long anss=-0x7f7f7f;
      bool cmp(c x,c y){
	      return (x.s+x.w)<(y.s+y.w);
      }
      int main(){
	      scanf("%d",&n);
	      for(int i=1;i<=n;++i){
		      scanf("%lld%lld",&cow[i].w,&cow[i].s);
	      }
	sort(cow+1,cow+1+n,cmp);
	for(int i=1;i<=n;++i){
		ans+=cow[i-1].w;
		anss=max(anss,ans-cow[i].s);
	//	cout<<anss;
	}
	cout<<anss;
	return 0;
      } 

原文地址:https://www.cnblogs.com/For-Miku/p/13414018.html