Cod sursa(job #487454)

Utilizator Viva12Ferentz Sergiu Viva12 Data 25 septembrie 2010 12:08:28
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <cstdio>
#include <algorithm>
using namespace std;
int g,w,sol[10000];
int viz[10000];
int eg[10000],cg[10000];
void citire()
{
    scanf("%d %d",&g,&w);
        for (int i=0;i<g;i++)
        {
            scanf("%d %d",&eg[i],&cg[i]);

        }
        for (int i=0;i<100;i++)
            sol[i]=999999;

}

int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
        citire();
        viz[0]=1;
        sol[0]=0;
            for (int i=0;i<g;i++)
                for (int j=w;j>=0;j--)
                    if (viz[j]==1)
                    {
                        sol[j+eg[i]]=min(sol[j+eg[i]],sol[j]+cg[i]);
                        viz[j+eg[i]]=1;
                    }
        for (int i=w;i<=w*2;i++)
            {
                if (viz[i]==1)
                {
                    printf("%d",sol[i]);
                    return 0;
                }
            }
        printf("-1");




    return 0;
}