Pagini recente » Cod sursa (job #1339822) | Cod sursa (job #3265504) | Cod sursa (job #2636888) | Cod sursa (job #3182975) | Cod sursa (job #2339888)
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n,nev,e[5001],c[5001],optim[10001],s;
const int inf=1<<30;
int main(){
int i,j;
f>>n>>nev;
for(i=1;i<=n;i++){
f>>e[i]>>c[i];
s+=e[i];
}
if(s<nev){
g<<-1;
return 0;
}
for(i=0; i<=nev; i++)
optim[i]=inf;
for(i=1; i<=n; i++)
for(j=1; j<=nev; j++)
if(j-e[i]<=0)
optim[j]=min(optim[j],c[i]);
else
optim[j]=min(optim[j], optim[j-e[i]]+c[i]);
if(optim[nev]==inf)
g<<-1;
else
g<<optim[nev];
return 0;
}