推公式——耍杂技的牛

由图可知,只要存在一个逆序,把他们交换一下,最大风险值就会降低,答案更优,因此最优解是按照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;
}
相关推荐
载数而行5207 小时前
算法集训1:模拟,枚举,错误分析,前缀和,差分
算法
hehelm7 小时前
vector模拟实现
前端·javascript·算法
Tina学编程8 小时前
[HOT 100]今日一练------划分字母区间
算法·hot 100
RTC老炮8 小时前
RaptorQ前向纠错算法架构分析
网络·算法·架构·webrtc
故事和你918 小时前
洛谷-数据结构1-1-线性表2
开发语言·数据结构·算法·动态规划·图论
m0_555762908 小时前
从原始信号到IQ图的数学公式推导
算法
靠沿8 小时前
【递归、搜索与回溯算法】专题四——综合练习
算法·深度优先
北顾笙9808 小时前
day26-数据结构力扣
数据结构·算法·leetcode
德索精密工业-胡工9 小时前
M12连接器的增强技术:在高电磁干扰的车间里它是如何“活下来”的?
算法
ZenosDoron9 小时前
函数形参传数组
java·jvm·算法