Pagini recente » Cod sursa (job #167373) | Cod sursa (job #462383) | Cod sursa (job #768241) | Cod sursa (job #852422) | Cod sursa (job #679181)
Cod sursa(job #679181)
#include<fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
long long W,G,C[1002],E[1002],cost[1002][5002];
long long const inf=3200000000000;
void cit(){
long long i;
fin>>G>>W;
for(i=1;i<=G;i++){
fin>>E[i]>>C[i];
if(E[i]>W) E[i]=W;
}
for(i=1;i<=W;i++) cost[0][i]=inf;
}
void calc(){
long long i,j,k;
for(i=1;i<=G;i++){
for(j=1;j<=W;j++){
k=cost[i-1][j-E[i]]+C[i];
if(k<inf){
if(k<cost[i-1][j]) cost[i][j]=k;
else cost[i][j]=cost[i-1][j];
}
else cost[i][j]=cost[i-1][j];
}
}
}
int main(){
cit();
calc();
if(cost[G][W] != inf) fout<<cost[G][W]<<endl;
else fout<<-1;
return 0;
}