Cod sursa(job #487448)

Utilizator Sm3USmeu Rares Sm3U Data 25 septembrie 2010 12:03:24
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>
#include <string.h>
#include <algorithm>
#define inf 5030
using namespace std;


int g;
int w;
int e[inf];
int c[inf];
int sol[inf];
int viz[inf];


void citire()
{
    scanf("%d %d", &g, &w);
    for(int i=0;i<g;i++)
        scanf("%d %d",&e[i],&c[i]);

    memset(sol,10000,sizeof(sol));
    viz[0]=1;
    sol[0]=0;

}

int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);

    citire();
    for(int i=0;i<g;i++)
        for(int j=w;j>=0;j--)
            if(viz[j]==1)
            {
                sol[j+e[i]]= min ( sol[j+e[i]],sol[j] + c[i]);
                viz[j+e[i]]=1;
            }
    for(int i=w;i<w+20;i++)
        if(viz[i]==1)
        {
            printf("%d",sol[i]);
            break;
        }


    return 0;
}