計蒜客之貪心篇
阿新 • • 發佈:2019-02-16
//費用最大為:2e9; 貪心
#include <iostream>
#include <algorithm>
using namespace std;
const int PRODUCER_MAX = 5005;
struct part {
int price, tot;
};
int part_tot, producer_tot;
part p[PRODUCER_MAX];
void read() {
cin >> part_tot >> producer_tot;
for (int i = 1; i <= producer_tot; i++) {
cin >> p[i].price >> p[i].tot;
}
}
bool cmp(const part& p1, const part& p2) {
if (p1.price < p2.price) return true;
else return false;
}
void solve() {
sort(p + 1, p + producer_tot + 1, cmp);
int tmp = part_tot;
int cost = 0;
for (int i = 1; i <= producer_tot; i++) {
if (tmp <= p[i].tot) {
cost += tmp*p[i].price;
break;
}
else {
cost += p[i].tot * p[i].price;
tmp -= p[i].tot;
}
}
cout << cost << '\n';
}
int main() {
read();
solve();
return 0;
}