Cod sursa(job #1681567)

Utilizator stanciuandreiStanciulescu Andrei stanciuandrei Data 9 aprilie 2016 16:23:11
Problema Energii Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>
#define inf 5002
using namespace std;

ifstream in("energii.in");
ofstream out("energii.out");
int putere, gen, ans=-1, cmin=inf;
int v[2*inf];
int main()
{

    for(int i=1;i<2*inf;i++)
        v[i] = -1;
    v[0] = 0;
    in>>gen>>putere;
    for(int i=0;i<gen;i++)
    {
        int tc, tp;
        in>>tp>>tc;

        for(int j=2*inf-tp;j>=0;j--)
        {

            if(v[j]!=-1)
            {
                if(v[j+tp]!=-1)
                v[j+tp] = min(v[j+tp], v[j]+tc);
                else
                    v[j+tp] = v[j]+tc;
                //cout<<j+tp<<": "<<v[j+tp]<<"\n";
            }
        }
    }

    for(int i=2*inf-1;i>=putere;i--)
    {
        if(v[i]!=-1&&v[i]<cmin)
            cmin=v[i];
    }
    if(cmin==inf)
        out<<-1;
    else
        out<<cmin;
    return 0;
}