哪里错了
查看原帖
哪里错了
1245542
like_1999楼主2024/7/10 17:28
# include<bits/stdc++.h>
using namespace std;
struct den {
	int p , a;
	double b;
}stu[200000];
bool cmp(den c , den d) {
	return c.b > d.b;
}
int main() {
    int v , n , m;
    cin >> n >> m;
    v = 0;
    for (int q = 0 ; q < m ; q++) {
    	cin >> stu[q].p >> stu[q].a;
		stu[q].b = 1.0 * stu[q].a / stu[q].p;		
		stu[q].p *= stu[q].a;
	
	}
	sort (stu , stu + m , cmp);
	for (int q = 0 ; q < m ; q++) {
		if (n >= stu[q].a) {
			n -= stu[q].a;
			v += stu[q].p;	
		} 
	}
	cout << v;
    return 0;
}
2024/7/10 17:28
加载中...