2 条题解
- 
  1
C++ :
#include <iostream> #include <algorithm> #include <queue> #include <vector> #include <limits.h> using namespace std; const int N=1e4+5; priority_queue<int,vector<int>,greater<int> > q; int n; pair<int,int> p[N]; int main() { while(cin>>n){ int maxd=INT_MAX; for(int i=0;i<n;i++){ cin>>p[i].second>>p[i].first; } sort(p,p+n); for(int i=0;i<n;i++){ if(q.size()<p[i].first) q.push(p[i].second); else { if(p[i].second>q.top()){ q.pop(); q.push(p[i].second); } } } int ans=0; while(!q.empty()){ ans+=q.top(); q.pop(); } cout<<ans<<endl; } return 0; } - 
  0
#include <iostream> #include <algorithm> #include <queue> #include <vector> #include <limits.h> using namespace std; const int N=1e4+5; priority_queue<int,vector<int>,greater<int> > q; int n; pair<int,int> p[N]; int main() { while(cin>>n){ int maxd=INT_MAX; for(int i=0;i<n;i++){ cin>>p[i].second>>p[i].first; } sort(p,p+n); for(int i=0;i<n;i++){ if(q.size()<p[i].first) q.push(p[i].second); else { if(p[i].second>q.top()){ q.pop(); q.push(p[i].second); } } } int ans=0; while(!q.empty()){ ans+=q.top(); q.pop(); } cout<<ans<<endl; } return 0; } 
- 1
 
信息
- ID
 - 56
 - 时间
 - 1000ms
 - 内存
 - 128MiB
 - 难度
 - 1
 - 标签
 - 递交数
 - 84
 - 已通过
 - 61
 - 上传者