AcWing 125. 耍杂技的牛

AcWing 125. 耍杂技的牛

证明看视频 吧。就是假设 换了两个元素之后不会增大结果,这样推出来的就是排序的条件。
有点像某一次周赛的最后一题堆箱子

#include<bits/stdc++.h>
using namespace std;

const int N=50010;

typedef pair<int,int> PII;
PII a[N];
int n;

int main(){
    cin>>n;
    for(int i=0;i<n;i++){
        int w,s;
        cin>>w>>s;
        a[i]={w+s,s};
    }
    sort(a,a+n);
    
    int res=-1e9;
    for(int i=0,sum=0;i<n;i++){
        int s=a[i].second,w=a[i].first-a[i].second;
        res=max(res,sum-s);
        sum+=w;
    }
    cout<<res;
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目:125. Valid Palindrome 不计非字母数字的元素和大小写,判断是否是回文字符串。 Given...
    Reflection_阅读 1,456评论 0 0
  • 原题连接:125. Valid Palindrome 题目要求:判断一个字符串是否是回文;仅考虑字符串中字母和字符...
    storm_lincoln阅读 968评论 0 0
  • 快速幂 求,时间复杂度 应用:求逆元 假如称x为b的模n乘法逆元。 当n为质数时,可以用快速幂求逆元: a / b...
    pxlsdz阅读 3,836评论 0 1
  • LeetCode 刷题随手记 - 第一部分 前 256 题(非会员),仅算法题,的吐槽 https://leetc...
    蕾娜漢默阅读 18,067评论 2 36
  • 夜莺2517阅读 127,789评论 1 9