Cod sursa(job #1122221)

Utilizator taigi100Cazacu Robert taigi100 Data 25 februarie 2014 17:01:02
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
/*
   Keep it Simple!
*/

#include<stdio.h>

#define MaxN 1005
#define MaxS 10055025
#define inf 10055030
#define MinV(a,b) (a<b?a:b)

int OverAllMinV;
int SumV;

int G,W;
int E[MaxN],C[MaxN];
int Mat[MaxS];



int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);

    scanf("%d%d",&G,&W);
    OverAllMinV = inf;

    for(int i=1; i<=G; i++)
    {
        scanf("%d%d",&E[i],&C[i]);
        SumV+=E[i];
    }

      for(int j=1;j<=SumV;j++)
        Mat[j] = inf;

     for(int i=1;i<=G;i++)
       for(int j=SumV; j>=E[i]; j--)
                   Mat[j] = MinV(Mat[j-E[i]]+C[i],Mat[j]);
    for(int j=W; j<=SumV; j++)
      if( Mat[j]<OverAllMinV)
        OverAllMinV = Mat[j];

    printf("%d",OverAllMinV);

}