第二题,仅供参考 #include <bits/stdc++.h> using namespace std; int N; struct num{ int time; int sorce; friend bool  operator < (num a,num b) {      if(a.sorce==b.sorce)      {          return a.time < b.time;      }      return a.sorce > b.sorce; } }; int main() {     scanf("%d",&N);     if(N==0)     {         return 0;     }     vector<num> arr;     for(int i=0;i<N;i++)     {         int t=0,s=0;         scanf("%d%d",&t,&s);         num n;         n.time=t;         n.sorce=s;         arr.push_back(n);     }     sort(arr.begin(),arr.end());     int ans = arr[0].sorce;     int cur_time = 2;     for(int i=1;i<N;i++)     {         if(arr[i].time >= cur_time)         {             ans+= arr[i].sorce;             cur_time++;         }     }     printf("%d",ans);     return 0; }