1467C - Three Bags (CF#695 Div. 2)

1467C - Three Bags (CF#695 Div. 2)

题目链接

题意

三个袋子每个袋子里有一些数,你每次可以从一个袋子里取出一个数,再从另一个袋子里取出一个数,将后者减去前者并放入后者所在的袋子。问最后剩下的那个袋子里的数最大是多少?

思路

完全理解不了为什么是这个结论,先挖坑,等我回去和室友讨论一下再补上

代码

#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
int main()
{
    ll min1 = INF, min2 = INF, min3 = INF;
    ll sum1 = 0, sum2 = 0, sum3 = 0;
    int n1, n2, n3;
    cin >> n1 >> n2 >> n3;
    for(ll i = 0, x; i < n1; i++)
    {
        cin >> x;
        min1 = min(min1, x);
        sum1 += x;
    }
    for(ll i = 0, x; i < n2; i++)
    {
        cin >> x;
        min2 = min(min2, x);
        sum2 += x;
    }
    for(ll i = 0, x; i < n3; i++)
    {
        cin >> x;
        min3 = min(min3, x);
        sum3 += x;
    }
    ll sum = sum1 + sum2 + sum3;
    ll minn = min(min1 + min2, min1 + min3);
    minn = min(min3 + min2, minn);
    minn = min(sum1, minn);
    minn = min(sum2, minn);
    minn = min(sum3, minn);
    cout << sum - minn * 2 << endl;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值