明显的贪心

#include <stdio.h>
#include
<iostream>
#include
<vector>
#include
<algorithm>
using namespace std;
struct BaoBei{
int p, m;
double val;
};

bool cmp(const BaoBei &a, const BaoBei &b){
return a.p > b.p;    // >号 降序排序
}
int main(){
int v, n;
vector
<BaoBei> vec;
while( cin >> v, v ){
cin >> n;

vec.clear();
BaoBei tmp;
for(int i = 0; i < n; ++i){
cin
>> tmp.p >> tmp.m;
vec.push_back(tmp);
}
sort(vec.begin(), vec.end(), cmp);
int ans = 0;
for(int i = 0; i < n; ++i){
if(v <= 0){
break;
}
else {
if( vec[i].m <= v ){
ans
+= vec[i].p * vec[i].m;
v
-= vec[i].m;
}
else {
ans
+= v * vec[i].p;
v
-= v;
}
}
}
cout
<< ans << endl;
}
return 0;
}

相关文章:

  • 2022-02-16
  • 2021-07-18
  • 2022-12-23
  • 2021-10-12
  • 2021-07-12
  • 2022-12-23
  • 2021-07-22
  • 2022-01-27
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2019-01-25
相关资源
相似解决方案