Cod sursa(job #1643176)

Utilizator ceciliamariciucCecilia Mariciuc ceciliamariciuc Data 9 martie 2016 17:57:41
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
#include <algorithm>
#include <cstring>
#define nr 9999999

using namespace std;

ifstream fin("energii.in");
ofstream fout("energii.out");

int N,P;
int c[1001],w[1001],a[5001],b[5001];

int main()
{int i,j;
fin>>N>>P;
for(i=1;i<=N;i++)
    fin>>w[i]>>c[i];
for(j=1;j<=P;j++) b[j]=a[j]=nr;

for(i=1;i<=N;i++)
   {for(j=1;j<=P;j++)
       if(j>=w[i]) b[j]=min(a[j],a[j-w[i]]+c[i]);
       else b[j]=min(a[j],c[i]);
    memcpy(a,b,sizeof(b));
   }
if(a[P]!=nr)
   fout<<a[P]<<"\n";
else fout<<-1;
fin.close();
fout.close();
return 0;
}