推公式——耍杂技的牛

由图可知,只要存在一个逆序,把他们交换一下,最大风险值就会降低,答案更优,因此最优解是按照wi+si从小到大升序排列,顺次计算每头牛的危险系数,最大值即是答案。

cpp 复制代码
#include <iostream>
#include <algorithm>

using namespace std;

typedef pair<int, int> PII;

const int N = 50010;

int n;
PII cow[N];

int main()
{
    cin>>n;
    for (int i = 0; i < n; i ++ )
    {
        int s, w;
        cin>>w>>s;
        cow[i] = {w + s, w};
        //pair是按照first为第一关键字排序,以second为第二关键字排序
    }

    sort(cow, cow + n);//升序

    int res = -2e9, sum = 0;//res代表风险值,sum当前这头牛上面所有牛的重量
    for (int i = 0; i < n; i ++ )
    {
        int s = cow[i].first - cow[i].second, w = cow[i].second;
        res = max(res, sum - s);
        sum += w;
    }

    cout<<res;

    return 0;
}
相关推荐
天一生水water9 小时前
基于FFT的频域故障诊断
人工智能·算法·智慧油田
石去皿9 小时前
数据结构与算法面试核心考点精要
java·算法·面试
今儿敲了吗9 小时前
18| 差分数组
c++·笔记·学习·算法
Bear on Toilet9 小时前
BFS_FloodFill_46 . 腐烂的橘子问题
数据结构·c++·算法·leetcode·宽度优先
大模型玩家七七9 小时前
关系记忆不是越完整越好:chunk size 的隐性代价
java·前端·数据库·人工智能·深度学习·算法·oracle
样例过了就是过了9 小时前
LeetCode热题100 找到字符串中所有字母异位词
算法·leetcode
DevilSeagull9 小时前
C语言: C语言内存函数详解
c语言·开发语言·算法
搞科研的小刘选手9 小时前
【人工智能专题】2026年人工智能与生成式设计国际学术会议(ICAIGD 2026)
人工智能·算法·aigc·生成式ai·学术会议·计算机工程·生成式设计
stripe-python10 小时前
十二重铲雪法(上)
c++·算法
ccLianLian10 小时前
计算机基础·cs336·RLHF
深度学习·算法