首页 > 代码库 > 贪心/poj 1456 Supermarket

贪心/poj 1456 Supermarket

 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 struct node 6 { 7     int value; 8     int ddl; 9 };10 node a[10010];11 bool day[10010];12 int n,ans;13 bool cmp(node x,node y)14 {15     return x.value>y.value;16 }17 int main()18 {19     while (scanf("%d",&n)!=EOF)20     {21         memset(a,0,sizeof(a));22         memset(day,0,sizeof(day));23         for (int i=1;i<=n;i++) scanf("%d%d",&a[i].value,&a[i].ddl);24         sort(a+1,a+n+1,cmp);25         ans=0;26         for (int i=1;i<=n;i++)27         {28             int p=a[i].ddl;29             while (p>0 && day[p]==1) p--;30             if (p!=0)31             {32                 ans+=a[i].value;33                 day[p]=1;34             }35         }36         printf("%d\n",ans);37     }38     return 0;39 }

 

贪心/poj 1456 Supermarket