Pagini recente » Cod sursa (job #100518) | Cod sursa (job #2583093) | Cod sursa (job #2243626) | Cod sursa (job #1652187) | Cod sursa (job #2339885)
#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=0; 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]);
g<<optim[nev];
return 0;
}