Cod sursa(job #1962510)

Utilizator pionierul22aNa LiZa pionierul22 Data 11 aprilie 2017 20:35:38
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int uz[10001][10001],cmax[10001],wmax,gen;
int g[1001],w[1001];

int main()
{
    fin>>gen>>wmax;
    int i;
    for(i=1;i<=gen;i++)
        fin>>g[i]>>w[i];
    int s;
    for(s=1;s<=2*wmax;s++) cmax[s]=10000010;
    for(s=1;s<=2*wmax;s++)
        for(i=1;i<=gen;i++)
        if(g[i]<=s && cmax[s-g[i]]!=10000010 && uz[s-g[i]][i]==0)
    {
        cmax[s]=min(cmax[s],w[i]+cmax[s-g[i]]);
        uz[s][i]=1;
    }
    int mini=10000010;
    for(i=1;i<=2*wmax;i++)
        if(cmax[i]>=wmax)
        mini=min(mini,cmax[i]);

    fout<<mini;


    return 0;
}