88分求助 #3WA
查看原帖
88分求助 #3WA
542793
whisp1r楼主2021/11/11 21:07
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
long long n,m,ans;
struct milk{
	int p;
	int a;
}k[20000009];
bool cmp(milk x,milk y){
	return x.p<y.p;
}
int main()
{
	cin>>n>>m;
    if(n==0){
        cout<<0;
        return 0;
    }
	//cout<<n<<" "<<m<<endl;
	for(int i=1;i<=m;i++){
		scanf("%d %d",&k[i].p,&k[i].a);
	}
	sort(k+1,k+1+m,cmp);
//	for(int i=1;i<=m;i++){
//		printf("%d %d\n",k[i].p,k[i].a);
//	}
	long long tmp=n;
	ans=0;
	for(int i=1;i<=m;i++){
//		cout<<" a"<<endl;
		if(tmp>=k[i].a){
			tmp=tmp-k[i].a;	
			ans+=(k[i].p*k[i].a);
//			cout<<tmp<<" "<<ans<<endl;
		}
		else{
			ans=ans+(k[i].p*tmp);
			cout<<ans;
			return 0;
		}
	}
 } 
2021/11/11 21:07
加载中...