Cod sursa(job #1733430)

Utilizator andreigeorge08Sandu Ciorba andreigeorge08 Data 24 iulie 2016 17:58:29
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>

using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,S,i,j,sol=1<<30,put,cost,Xp=1<<30,R[1<<13];
int main()
{
    fin>>n>>S;
    for(i=1;i<5001;++i) R[i]=Xp;
    for(i=1;i<=n;++i)
    {
        fin>>put>>cost;
        for(j=S;j>=0;--j)
            if(j+put<=S)
            {
                if(R[j+put]>R[j]+cost) R[j+put]=R[j]+cost;
            }
            else sol=min(sol,R[j]+cost);
    }
    sol=min(sol,R[S]);
    if(sol==Xp) sol=-1;
    fout<<sol;
    return 0;
}