Cod sursa(job #1643114)

Utilizator radudurlesteanuDurlesteanu Radu Stefan radudurlesteanu Data 9 martie 2016 17:37:52
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <cstdio>
#include <algorithm>
#include <cstring>
#define NR 9999999
using namespace std;
int n,e[1001],c[1001],w,i,j,a[5001],b[5001];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&w);
for (i=1;i<=n;i++)
scanf("%d%d",&e[i],&c[i]);
for (j=1;j<=w;j++) b[j]=a[j]=NR;

for (i=1;i<=n;i++)
   {
   for (j=1;j<=w;j++)
   if(j-e[i]>=0) b[j]=min(b[j],a[j-e[i]]+c[i]);
            else b[j]=min(b[j],c[i]);
    memcpy(a,b,sizeof(b));
   }
if (a[w]!=NR) printf("%d",a[w]);
         else printf("-1");
}