poj supermaket (贪心)
http://poj.org/problem?id=1456
#include<cstring> #include<iostream> #include<algorithm> using namespace std; struct nod { int a; int d; }; bool cmp(nod x,nod y) { return x.a>y.a; } int main() { nod aa[10005]; int n; while(cin>>n) { int tt[10005]={0}; for(int i=0;i<n;i++) { cin>>aa[i].a>>aa[i].d; } int sum=0; sort(aa,aa+n,cmp); for(int j=0;j<n;j++) {if(tt[aa[j].d]==0) { sum+=aa[j].a; tt[aa[j].d]=1; } else//////排除比利益较大但天数已经被标记的成员。 { for(int i=aa[j].d;i>0;i--) {if(tt[i]==0) { sum+=aa[j].a; tt[i]=1; break; } } } } cout<<sum<<endl; } return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步