Cod sursa(job #2445276)

Utilizator stefanut999Paul Colta stefanut999 Data 3 august 2019 12:17:24
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <cmath>
#include <algorithm>
#include <fstream>
#define nmax 1000001
#define rep(a,b,c) for(a = b; a <= c; ++a)
using namespace std;

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

int n, x, k, i, j, v[10001], gen, gen1;

int main()
{
  fin >> n >> gen1;
  rep(i,1,gen1)
    v[i] = nmax;
  rep(i,1,n)
  {
    fin >> gen >> x;
    for(j = gen1; j >= 0; --j)
    {
      if(v[j] != nmax && gen + j <= gen1)
        v[j + gen] = min(v[j + gen], v[j] + x);
      if(gen + j > gen1)
        v[gen1] = min(v[gen1], v[j] + x);
    }
  }
  if(v[gen1] == nmax)
    fout << -1;
  else
    fout << v[gen1];
  return 0;
}