3 条题解

  • 1
    @ 2026-7-15 9:37:35

    #include<bits/stdc++.h> using namespace std; struct node { int p,d; }a[10005]; int cmp(node a,node b){ return a.p>b.p ; } int main(){ int n; while(cin>>n){ int maxn=0; for(int i=1;i<=n;i++){ cin>>a[i].p >>a[i].d ; if (a[i].d>maxn) maxn=a[i].d ; } sort(a+1,a+n+1,cmp); int flag[10005]={}; int ans=0; for(int i=1;i<=n;i++){ for(int j=a[i].d;j>=1;j--){ if(!flag[j]){ flag[j]=1; ans+=a[i].p; break; } } } cout<<ans<<endl; } return 0; } //抄牢尸的

    信息

    ID
    56
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    119
    已通过
    85
    上传者