Cod sursa(job #1645894)

Utilizator din99danyMatei Daniel din99dany Data 10 martie 2016 14:16:19
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
using namespace std;

#define DIM 10001

int main()
{

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

    int v[DIM];


    int n, i, j, s, t, d, g, mi;
    int c, p;

    scanf("%d%d",&n,&g);
    for( i = 0; i <= DIM; ++i ) v[i] = 0;

    for( i = 1; i <= n; ++i ){
      scanf("%d%d",&p,&c);
      for( j = g; j >= 0; --j ){
          if( ( v[j+c] < v[j] + p ) ){
              v[j+c] = v[j] + p;
          }
      }
    }

    mi = s = (1<<23);
    for( i = 0; i <= DIM; ++i ){
        if( v[i] < mi && v[i] >= g ) mi = i;
    }

    if( mi != s )printf("%d",mi);
    else printf("-1");

    return 0;
}