Cod sursa(job #2445474)

Utilizator Dobricean_IoanDobricean Ionut Dobricean_Ioan Data 4 august 2019 11:51:20
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
    #include <fstream>
#define min(A,B) (A>B)?(B):(A)
#define change(A) (A%2==1)?0:1

using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
struct ceva
{
    int cost,energie;
}v[1010];
int g,w;
int din[2][5010];
int main()
{
    fin>>g>>w;
    for(int i=1;i<=g;i++)
    {
        fin>>v[i].energie>>v[i].cost;
    }
    for(int i=1;i<=g;i++)
    {
        for(int j=0;j<=w;j++)
        {
            if(j>=w)din[i%2][j]=0;
            else if(i==1)din[i%2][j]=1000000000;
            else din[i%2][j]=min(v[i].cost+din[1-i%2][min(j+v[i].energie,w)],din[1-i%2][j]);
        }
    }
    if(din[g%2][0]==1000000000)fout<<-1;
    else fout<<din[g%2][0];
    return 0;
}