C++ 代码:
#include <bits/stdc++.h>
using namespace std;
struct node {
int sum, p, num;
void in() {
cin >> sum >> p;
num = sum * p;
}
} a[30];
bool cmp(node p1, node p2) {
if(p1.p == p2.p)
return p1.sum > p2.sum;
else
return p1.p > p2.p;
}
int main() {
int zsum, n, number = 0;
cin >> zsum >> n;
for(int i = 1; i <= n; i++)
a[i].in();
sort(a + 1, a + n + 1, cmp);
for(int i = 1; i <= n; i++)
if(zsum >= a[i].sum) {
number += a[i].num;
zsum -= a[i].sum;
}
cout << number;
return 0;
}
测试点信息详情
哪出了错