为什么这个代码只拿了十分?
查看原帖
为什么这个代码只拿了十分?
478671
哲宇mike楼主2021/10/4 16:32
#include <bits/stdc++.h>
using namespace std;
long long n,m,ans; 
struct p{
	long long a,b;
}c[100005];
bool cmp(p x,p y){
	return x.a/x.b<y.a/y.b;
}
int main(){
	cin>>m>>n;
	for(int i=0;i<n;i++){
		cin>>c[i].a>>c[i].b;
	}
	sort(c,c+n,cmp);
	for(int i=0;i<n;i++){
		if(m-c[i].a>=0){
			m-=c[i].a;
			ans+=c[i].a*c[i].b;
		}
	}
	cout<<ans;
	return 0;
}
2021/10/4 16:32
加载中...