Cod sursa(job #1158720)

Utilizator tudi98Cozma Tudor tudi98 Data 29 martie 2014 00:23:34
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <fstream>
#include <climits>
#include <cstring>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");

int n,W,i,j,E[1001],C[1001],a[5001],b[5001];

int main(){

f>>n>>W;
for(i=1;i<=n;i++)
f>>E[i]>>C[i];

memset(b,INT_MAX,sizeof(b));

for(i=1;i<=n;i++){
    for(j=1;j<=W;j++){
	if(E[i]>=j) a[j]=min(C[i],b[j]);
	else a[j]=min(b[j],b[j-E[i]]+C[i]);
    }
    for(j=1;j<=W;j++) b[j]=a[j];
}

if(a[W]==INT_MAX) g<<-1;
else g<<a[W];

}