hdu 2111

来源:互联网 发布:淘宝保证金多久能退回 编辑:程序博客网 时间:2024/05/29 16:01
#include <iostream>#include <algorithm>using namespace std;struct money{int s;int v;};bool cmp(money a,money b){return a.s>b.s;}int main(){money M[101];int n,m,i;while(cin>>n&&n){int sum=0;cin>>m;for(i=1;i<=m;i++)cin>>M[i].s>>M[i].v;sort(M,M+m,cmp);//for(i=0;i<m;i++)//cout<<M[i].s<<" "<<M[i].v<<endl;/*int nn=0;for(i=1;i<=m;i++){if(nn<n&&nn+M[i].v<=n)  {nn+=M[i].v; sum+=M[i].s*M[i].v;continue;}if(nn<n&&nn+M[i].v>n)   {sum+=M[i].s*(n-nn);break;}}*/for(i=0;i<m;i++){if(M[i].v<n)  {n-=M[i].v; sum+=M[i].s*M[i].v;}else{sum+=M[i].s*n;break;}}cout<<sum<<endl;}return 0;}


 

//hdu 2111
这道题我要单独拿出来,真心蛋疼。。。。。一直在看哪里错了,cmp函数里面写了<   O__O"…   还有以前写过这样的题啊,很简单的,可是为什么现在要想那么久啊。。。。

0 0