cf - 1443C - The Delivery Dilemma

1443C - The Delivery Dilemma

// 排序加贪心
1.如果全用a数组送,a数组中的最大的数决定时间
2.同样全用b数组送,b数组之和决定时间。
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 2e5 + 10;
typedef pair<int,int> PII;
typedef long long ll;
PII s[N];
ll sum[N];

int main()
{
    int t;
    cin >> t;
    while(t --)
    {
        int n;
        cin >> n;
        sum[0] = 0;
        for(int i = 1;i <= n; i ++) cin >> s[i].first;
        for(int i = 1;i <= n; i ++) cin >> s[i].second;
        
        sort(s + 1,s + 1 + n);
        for(int i = 1; i <= n; i ++) sum[i] = sum[i - 1] + s[i].second;
        
        ll mx = 0x3f3f3f3f;
        mx = min(sum[n],1ll * s[n].first);
        
        for(int i = n - 1; i >= 1; i --)
        {
            ll t;
            t = max(0ll + s[i].first,sum[n] - sum[i]);
            mx = min(t,mx);
        }
        
        cout << mx << endl;
    }
}
上一篇:用命令windeployqt获取qt依赖库


下一篇:C# 关于 &符号,字符串转字典Dictionary