Cod sursa(job #52110)

Utilizator crawlerPuni Andrei Paul crawler Data 17 aprilie 2007 19:47:03
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>
#define Inf  123456789

int v[23567];


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

  int n,s, min = Inf, i,j,a,b;

  scanf("%d%d", &n, &s);

  for(i=1;i<=20100;++i)
   v[i] = Inf;

  for(i=1;i<=n;++i)
   {
    scanf("%d%d", &a,&b);

    for(j=10010;j>=0;--j)
     if(v[j] != Inf)
      {
       if(v[j+a] >= v[j] + b)
        v[j+a] = v[j] + b;
        
       if(v[j+a] < min && (j+a) >= s)
        min = v[j+a];
      }
   }

  if(min != Inf)
   printf("%d\n", min);
    else
   printf("-1\n");

  return 0;
 }