Cod sursa(job #1328347)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 28 ianuarie 2015 11:40:31
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <cstdio>
#define maxim 30000
using namespace std;

FILE *f=fopen("energii.in","r");
FILE *g=fopen("energii.out","w");

int n,w;
int v[maxim+5],minim=1<<30;

int main()
{   int i,j,a,b;
    fscanf(f,"%d %d",&n,&w);


    for (i=1;i<=30000;i++) v[i]=1<<29;
    while (n!=0){
            fscanf(f,"%d %d",&a,&b);
            for (i=5000;i>=0;i--)
                        if (v[i]+b<v[i+a])
                                v[i+a]=v[i]+b;
            n--;
         }
    for (i=maxim;i>=w;i--) if (v[i]<minim) minim=v[i];
    if (minim!=(1<<29))
                fprintf(g,"%d\n",minim);
                    else fprintf(g,"-1\n");
    return 0;
}