杭电ACM2111——Saving HDU

来源:互联网 发布:放置江湖ios数据修改 编辑:程序博客网 时间:2024/06/01 17:14

简单的贪心,需要注意的是给的价格是单价。

#include <iostream>using namespace std;int main(){int v, n, i, j;int price[105], vol[105];while(cin >> v){if(v == 0)break;cin >> n;for(i = 0; i < n; i++)cin >> price[i] >> vol[i];for(i = 0; i < n - 1; i++){int k = i;for(j = i + 1; j < n; j++){if(price[k] < price[j])k = j;}if(k != i){int te;te = price[i];price[i] = price[k];price[k] = te;te = vol[i];vol[i] = vol[k];vol[k] = te;}}int ans = 0;for(i = 0; i < n; i++){if(v > vol[i]){ans += price[i] * vol[i];v -= vol[i];}else{ans += price[i] * v;break;}}cout << ans << endl;}return 0;}


0 0
原创粉丝点击