老是48分,求助
查看原帖
老是48分,求助
1271070
Wh1spers0fTheW1nd楼主2024/4/4 17:19

代码如下

#include<bits/stdc++.h>
using namespace std;
struct nn{
  int p,a;
}a[5005];
int n,m,sum,sun;
bool cmp(nn x,nn y){
  if(x.p!=y.p)	return x.p<y.p;
  return x.a>y.a;
}
int main()
{
  cin>>n>>m;
  for(int i=1;i<=m;i++){
  	cin>>a[i].p>>a[i].a;
  }
  sort(a+1,a+1+n,cmp);
  int i=1;
  while(sun!=n){
  	if(sun+a[i].a<=n){
  		sun+=a[i].a;
  		sum+=a[i].a*a[i].p;
  	}else{
  		sum+=(n-sun)*a[i].p;
  		sun=n;
  	}
  	i++;
  }
  cout<<sum;
  return 0; 
}
2024/4/4 17:19
加载中...