Cod sursa(job #2664078)

Utilizator metallidethantralayerIon Cojocaru metallidethantralayer Data 27 octombrie 2020 21:15:09
Problema Energii Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int G,W,a[1005][10005],suma[1005];
pair <int,int> v[1005];
int main()
{
    f>>G>>W;
    int H=0;
    for(int i=1; i<=G; i++)
        f>>v[i].first>>v[i].second,suma[i]=suma[i-1]+v[i].first,H=max(H,v[i].first);
    for(int i=0; i<=H; i++)
        a[0][i]=1e9;
    for(int i=1; i<=G; i++)
        for(int j=1; j<=H; j++)
            if(suma[i]>=j)
                a[i][j]=min(a[i-1][j],a[i-1][j-v[i].first]+v[i].second);
            else
                a[i][j]=a[i-1][j];
    if(a[G][W]==1e9)
        g<<-1;
    else g<<a[G][W];

    return 0;
}