USACO Section 1.3 Mixing Milk
这个,杭电上也有几乎一模一样的题,好像是那题是要买米,同样测试数据太大,不贴上来
/*
ID:linyvxi1
TASK:milk
LANG:C++
*/
#include <stdio.h>
#include <algorithm>
using namespace std;
typedef struct Fa{
int P;
int A;
}Fa;
Fa fa[5000];
int N,M;
bool cmp(Fa a,Fa b)
{
return a.P<b.P;
}
int main()
{
FILE* fin=fopen("milk.in","r");
FILE* fout=fopen("milk.out","w");
fscanf(fin,"%d%d",&N,&M);
int i;
for(i=0;i<M;i++)
fscanf(fin,"%d%d",&fa[i].P,&fa[i].A);
sort(fa,fa+M,cmp);
int cur=0,cost=0;
for(i=0;i<M;i++){
if(cur==N)
break;
if(N-cur<=fa[i].A){
cost+=(N-cur)*fa[i].P;
break;
}
else{
cost+=fa[i].A*fa[i].P;
cur+=fa[i].A;
}
}
fprintf(fout,"%d\n",cost);
}

浙公网安备 33010602011771号