Cod sursa(job #895856)

Utilizator WardomAndrei-Bogdan Mihailescu Wardom Data 27 februarie 2013 12:48:11
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
using namespace std;
int n,w,i,k,a[1000][2],v[1000],r[1000],s,c,m=5001,t;
int main()
{
    ifstream f("Energii.in");
    ofstream g("Energii.out");
    f>>n>>w;
    for (i=1;i<=n;i++)
    {
        f>>a[i][1]>>a[i][2];
        s+=a[i][1];
    }
    if (s<w)
        g<<-1;
    else
    {
        s=0;
        for (i=1;i<=n;i++)
        {
            s++;
            v[s]=a[i][1];
            r[s]=a[i][2];
            if (i>1)
            {
                c=s;
                for (k=1;k<c;k++)
                {
                    s++;
                    v[s]=a[i][1]+v[s-c];
                    r[s]=a[i][2]+r[s-c];
                }
            }
        }
        for (i=1;i<=s;i++)
            if (v[i]==w)
                if (r[i]<m)
                    m=r[i];
    }
    g<<m;
    return 0;
}