Cod sursa(job #1653979)

Utilizator Andrew07Cosmin Alex Andrew07 Data 16 martie 2016 18:58:05
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <climits>
#define MAXIM 1000000
#define VECTOR 1000002
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int v[VECTOR] , n , g , energie , consum , minn;
int main()
{
    fin>>n>>g;
   bool ok=false;
    for(int i = 1 ; i<=100001 ;i++)
        v[i]=INT_MAX-10000;
    minn=MAXIM;
    for(int i=1;i<=n;i++)
    {
        fin>>energie>>consum;

        for(int j=g-1;j>=1;j--)
        {
            if(v[j]+consum<v[j+energie])
                {
                    v[j+energie]=v[j]+consum;
                    if(v[j+energie]<minn && j+energie>=g) minn=v[j+energie],ok=true;
            }

        }
        if(consum<v[energie]) v[energie]=consum;
            if(energie>=g && consum<minn) minn=consum , ok=true;
    }
    if(ok) fout<<minn;
    else fout<<-1;
}