Cod sursa(job #1313582)

Utilizator savigunFeleaga Dragos-George savigun Data 10 ianuarie 2015 20:56:58
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#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, j, minim=200000000;
    in>>n>>s;
    for(i=1;i<=10001;i++)
        a[i]=200000000;
    a[1]=0;
    for(i=1;i<=n;i++)
        in>>v[i]>>p[i];
    for(j=1;j<=n;j++)
        for(i=s;i>=0;i--)
        {

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