Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > » 正文

HDOJ 2111 Saving HDU 解题报告

来源: 未知 分享至:

http://acm.hdu.edu.cn/showproblem.php?pid=2111

还是贪心。。。。

Run ID Submit Time Judge Status Pro.ID Exe.Time Exe.Memory Code Len. Language Author
4252500 2011-07-25 16:00:53 Accepted 2111 0MS 296K 922 B G++ GongZi
//HDOJ 2111 Code By NetBeans 6.9.1
#include <iostream>
#include
<algorithm>

using namespace std;

struct A
{
int p, m;
};

bool cmp( A x, A y );

int main()
{
int v, n;
while( cin >> v && v )
{
cin
>> n;
A treasure[n];
for( int i = 0; i < n; ++i )
{
cin
>> treasure[i].p >> treasure[i].m;
}
sort( treasure, treasure
+ n, cmp );
int sum = 0;
for( int i = 0; i < n && v > 0; ++i )
{
if( treasure[i].m >= v )
{
sum
+= treasure[i].p * v;
v
= 0;
}
else
{
sum
+= treasure[i].m * treasure[i].p;
v
-= treasure[i].m;
}
}
cout
<< sum << endl;
}
return 0;
}

bool cmp( A x, A y )
{
return x.p > y.p;
}
#if gongzi
#endif

Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史