1. 程式人生 > >Luogu 1842 奶牛玩雜技

Luogu 1842 奶牛玩雜技

應該是一道陳題了吧 見到好多次了

下個blog記一下

做法跟上一題差不多 比較相鄰兩個 而且這個式子更簡單 Sx-wy>=Sy-Wx (x放下面更優)

Code:(快又短√)

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
inline int read()
{
    char ch=getchar(); int x=0,f=1;
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
    while(ch>='0'&&ch<='9'){x=x*10+ch-'0'; ch=getchar();}
    return x*f;
}
struct node{int x,y;}a[50005];
int Cmp(node x1,node x2){return x1.x+x1.y>x2.x+x2.y;}
int main()
{
    int i,n=read();
    for(i=1;i<=n;i++)a[i].x=read(),a[i].y=read();
    sort(a+1,a+1+n,Cmp);
    int s=a[n].x,ans=-a[n].y;
    for(i=n-1;i>0;i--)
    {
        ans=max(ans,s-a[i].y);
        s+=a[i].x;
    }
    printf("%d\n",ans);
    return 0;
}