Cod sursa(job #2450825)

Utilizator LeCapataIustinian Serban LeCapata Data 24 august 2019 17:20:11
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
#define maxi 10011002

using namespace std;

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

struct generator
{
    int e;
    int c;
};

generator v[1001];

int prod[20000];


int main()
{
    int g, w, fin=0, minim=maxi;

    in>>g>>w;
    for(int i=1; i<=g; i++)in>>v[i].e>>v[i].c;

    prod[0]=1;
    for(int i=1; i<=g; i++)
        for(int j=w; j>=0; j--)
            {
                fin=j+v[i].e;
                if(prod[j]!=0)
                    {
                        if(prod[fin]==0)
                            prod[fin]=prod[j]+v[i].c;
                        else if(prod[fin]>prod[j]+v[i].c)
                            prod[fin]=prod[j]+v[i].c;
                    }

            }
    for(int i=1; i<20000; i++)
        if(i>=w && prod[i]!=0)
        {
            minim=prod[i]-1;
            break;
        }

    if(minim!=maxi)out<<minim;
    else out<<-1;

    in.close();
    out.close();
    return 0;
}