Supermarket 貪心+並查
阿新 • • 發佈:2018-12-11
-
Supermarket
-
#include <iostream> #include <queue> #include <cstdlib> #include <iostream> #include <algorithm> #include <cstring> using namespace std; #define maxn 11115 int n,mxx,j,ans,fa[maxn]; struct node { int profit,day; } a[maxn]; int fond(int x) { return -1==fa[x]?x:fa[x]=fond(fa[x]); } bool cmp(node x,node y) { return x.profit>y.profit; } int main() { while(cin>>n) { memset(fa,-1,sizeof(fa)); for(int i=0; i<n; i++) cin>>a[i].profit>>a[i].day; sort(a,a+n,cmp); ans=0; for(int i=0; i<n; i++) { j=fond(a[i].day); if(j>0) { ans+=a[i].profit; fa[j]=j-1; } } cout<<ans<<endl; } return 0; }