Cod sursa(job #1297288)

Utilizator CarabasIancugogu11 CarabasIancu Data 21 decembrie 2014 21:25:16
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>

using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int v[1001],p[1001],a[10001];
int main()
{
    int n,s,i,min=2000000000;
    in>>n>>s;
    for(i=0;i<=10000;i++)
        a[i]=2000000000;
    a[0]=0;
    for(i=1;i<=n;i++)
        in>>v[i]>>p[i];
    for(int j=1;j<=n;j++)
        for(i=s;i>=0;i--)
        {

            if(a[i]!=2000000000 && i+v[j]<=10000 && p[j]+a[i]<a[i+v[j]])
                a[i+v[j]]=a[i]+p[j];
        }
    for(i=s;i<=10000;i++)
    {
        if(a[i]<min)
        min=a[i];
    }
    if(min==2000000000)
        out<<"-1";
    else
        out<<min;
    return 0;
}