Cod sursa(job #1711657)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 31 mai 2016 21:11:39
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>

using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int n,S,i,j,sol=1<<30,put,cost,Xp=1<<30,R[1<<13];
int main()
{
    f>>n>>S;
    for(i=1;i<5001;++i) R[i]=Xp;
    for(i=1;i<=n;++i)
    {
        f>>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;
    g<<sol;
    return 0;
}