Mai intai trebuie sa te autentifici.

Cod sursa(job #1717608)

Utilizator aurasslamMihai Aurelian aurasslam Data 15 iunie 2016 12:29:30
Problema Energii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
using namespace std;
int G, W, d[50001], i, j;
struct generator
{int c,e;
};
generator v[50000];
int main()
{   freopen("energii.in", "r", stdin);
	freopen("energii.out", "w", stdout);
    cin>>G>>W;
    for(i=1; i<=G; ++i)
        cin>>v[i].e>>v[i].c;
     for(i=1; i<=G; i++)
    {
        for(j=W; j>-1; j--)
        if(d[j]!=0 || j==0)
        {
            if(j+v[i].e<=W)
            {
                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[W]==0 || d[W]>d[j]+v[i].c)
                    d[W]=d[j]+v[i].c;
            }
        }
    }
    if(d[W]!=0)
        cout<<d[W];
    else
    cout<<-1;
    return 0;
}