Cod sursa(job #2447284)

Utilizator VladNANegoita Vlad-Andrei VladNA Data 12 august 2019 18:22:59
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <cstdio>

using namespace std;

struct generator
{
    int e,c;
}v[1005];

int suma[10009];//cost functie de energie

int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    int n,w,i,j,sol=2e9;
    for(i=0;i<=10007;i++)
        suma[i]=2e9;
    cin>>n>>w;
    for(i=1;i<=n;i++)
        cin>>v[i].e>>v[i].c;
    suma[0]=0;
    suma[v[1].e]=v[1].c;
    for(i=2;i<=n;i++)
    {
        for(j=w;j>=0;j--)
        {
            if(j+v[i].e<10005 && suma[j]+v[i].c<suma[j+v[i].e])
            {
                suma[j+v[i].e]=suma[j]+v[i].c;
            }
        }
    }
    for(i=w;i<=10000;i++)
        if(suma[i]<sol && suma[i]!=0)
            sol=suma[i];
    if(sol==2e9)
        cout<<"-1";
    else
        cout<<sol;
    return 0;
}