87分求助,一个点re
查看原帖
87分求助,一个点re
1004335
shixiaovya楼主2024/6/30 11:08

本地试过了,和答案一致,就是过不去qaq

#include<bits/stdc++.h>
using namespace std;
struct node{
	int c,b;
}a[5005];
bool cmp(node p,node q){
	if(p.c>q.c){
		return false;
	}
	return true;
	
}
int main(){
	long long n,m,sum =0;
	cin >> n  >> m;
	for(int i = 1;i<=m;i++){
		cin >> a[i].c >> a[i].b;
	}
	sort(a+1,a+m+1,cmp);
	for(int i = 1;i<=m;i++){
		if(n>a[i].b) {
			n-=a[i].b;
			sum+=a[i].b*a[i].c;
		}else{
			sum+=a[i].c*n;
			break;
		}
		
	}
	cout << sum;
	return 0;
}
2024/6/30 11:08
加载中...