10分蒟蒻求助(自恃没有问题)!!!
查看原帖
10分蒟蒻求助(自恃没有问题)!!!
677599
LuminaryWay楼主2022/9/17 11:43
#include<bits/stdc++.h>
using namespace std;

int n,m,k,ate[105],sum=0;

struct food
{
    int f,p;
}h[205];

bool cmp(food x,food y)
{
    if(x.f != y.f) return x.f > y.f;
    return x.p > y.p;
}

int main()
{
    cin >> n >> m >> k;
    for(int i = 1;i <= k;i++)
        cin >> ate[i];
    for(int i = 1;i <= n;i++)
    {
        cin >> h[i].f >> h[i].p;
        for(int j = 1;j <= k;j++)
            if(h[i].p==i)
            {
                h[i].p = ate[i];
            }
    }
    sort(h+1,h+n+1,cmp);
    int i = 1;
    while(m)
    {
        if(h[i].p != 0)
        {
            m--;
            h[i].p--;
            sum += h[i].f;
        }
        else i++;
    }
    cout << sum << endl;
    return 0;
}
2022/9/17 11:43
加载中...