Cod sursa(job #1050789)

Utilizator DiClauDan Claudiu DiClau Data 9 decembrie 2013 09:51:12
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>

using namespace std;

struct generare
{
    int prod,nec;
};
generare v[1005];

int en[20000];

int main()
{
    FILE *in,*out;
    in=fopen("energii.in","r");
    out=fopen("energii.out","w");
    int n,w,fl=0;
    fscanf(in,"%d%d",&n,&w);
    int i,j;
    for (i=1;i<=n;i++)
        fscanf(in,"%d%d",&v[i].prod,&v[i].nec);
    for (i=1;i<=w+10005;i++)
        en[i]=-1;
    for (i=1;i<=n;i++)
        for (j=w+10005;j>=0;j--)
            if (en[j]!=-1)
                en[j+v[i].prod]=en[j]+v[i].nec;
    for (i=w;i<=w+10005;i++)
        if (en[i]!=-1)
        {
            fprintf(out,"%d",en[i]);
            fl=1;
            break;
        }
    if (fl==0)
        fprintf(out,"-1");
    return 0;
}