#7,#21#26WA 20分
查看原帖
#7,#21#26WA 20分
1378641
cyb2014楼主2025/8/30 15:35
#include<bits/stdc++.h>
using namespace std;
int w[1005];
struct node {
    int b;
    int j;
}s[1005];
bool cmp(node a,node c) {
    if (a.j==c.j) return a.b>c.b;
    else return a.j<c.j;
}
int main() {
    int n,m;
    cin>>n>>m;
    int maxx=1;
    for (int i=1;i<=m;i++) {
        cin>>s[i].b>>s[i].j;
        w[s[i].b]++;
        
    }
    for (int i=2;i<=n;i++) {
        if (w[i]>=w[1]) {
            maxx=0;
            break;
        }
    }
    if (maxx==1) {
        cout<<0;
        return 0;
    }
    sort(s+1,s+m+1,cmp);
    int ans=0;
    for (int i=1;i<=m;i++) {
        if (s[i].b!=1) {
            ans+=s[i].j;
            w[1]++;
            w[s[i].b]--;
            int f=0;
            for (int j=2;j<=n;j++) {
                if (w[1]<=w[j]) {
                    f=1;
                    break;
                }
            }
            if (f==0) {
                break;
            }
        }
    }
    cout<<ans;
}

求调

2025/8/30 15:35
加载中...