???

1 条评论

  • // 打怪兽1 /*

    贪心: 最强的枪 打 最弱的怪兽

    a1 - b1 a2 - b2 ak - bk

    a1 + a2 +...ak 尽可能大 - b1 + b2 +...bk 尽可能小

    差最大

    贪心: 最强的枪 打 最弱的怪兽 正确!!!

    */ #include <bits/stdc++.h> using namespace std; const int N = 100010; int a[N],b[N]; int n,m; bool cmp(int x,int y){ return x > y; }

    int main(){ cin >> n >> m; for(int i = 1;i <= n;i++){ cin >> a[i]; } for(int i = 1;i <= m;i++){ cin >> b[i]; } sort(a+1,a+n+1,cmp); // 武器从大到小排 sort(b+1,b+m+1); // 怪兽从小到大 int num=0,t = min(n, m); for(int i = 1;i <= t;i++){ if(a[i] >= b[i]){ //能打得过 num +=a[i] - b[i]; }else{ // 打不过就结束游戏 break; } } cout << num; return 0; }

    • 1

    信息

    ID
    1602
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    (无)
    递交数
    214
    已通过
    34
    上传者