Cod sursa(job #1704906)

Utilizator CrystyAngelDinu Cristian CrystyAngel Data 19 mai 2016 16:11:33
Problema Energii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include <fstream>

using namespace std;

struct generator
{
    int c,e;
};
generator v[20111];
int d[20111],i,n,j,s;

int main()
{
    ifstream f("energii.in");
    ofstream g("energii.out");

    f>>n>>s;
    for(i=1; i<=n; ++i)
        f>>v[i].e>>v[i].c;

    for(i=1; i<=n; ++i)
    {
        for(j=s; j>=0; --j)
        if(d[j]!=0 || j==0)
        {
            if(j+v[i].e<=s)
            {
                if(d[j+v[i].e]==0 || d[j+v[i].e]>d[j]+v[i].c)
                    d[j+v[i].e]=d[j]+v[i].c;
            }
            else
            {
                if(d[s]==0 || d[s]>d[j]+v[i].c)
                    d[s]=d[j]+v[i].c;
            }
        }
    }
    if(d[s]!=0)
        g<<d[s];
    else
    g<<-1;
}