Cod sursa(job #1818811)

Utilizator passwordCiaciru Ana Maria password Data 29 noiembrie 2016 20:52:56
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#define nmax  10001
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,E;
int v[nmax];

struct generator
{int e,c;};

generator a[nmax];

void cit()
{ int i;
  fin>>n>>E;
  for(i=1;i<=n;++i) fin>>a[i].e>>a[i].c;
}

void dinamic(int&Min)
{int i,j;
    for (j=1; j<=E; ++j) v[j] = -1;
    for(i=1;i<=n;i++)
        for(j=E-1;j>=0;j--)
           if(v[j]!=-1)
               if(j+a[i].e>=E)
                     Min=min(Min,v[j]+a[i].c);
               else
                    if(v[j+a[i].e]>v[j]+a[i].c||v[j+a[i].e]==-1)
                        v[j+a[i].e]=v[j]+a[i].c;
}

int main()
{   cit();
    int Min,Min1;
    Min=Min1=999999999;
    dinamic(Min);
    if(Min==Min1) fout<<-1;
    else
        fout<<Min;
    return 0;
}