Cod sursa(job #1755747)

Utilizator MateiMCCiurezu Matei MateiMC Data 10 septembrie 2016 23:14:20
Problema Energii Scor 35
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <math.h>
#define ceva 25002500
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int g,w,eg,cg;
long total_eng=0,optim[ceva];

int main()
{
    fin>>g>>w;

    for(int i=1; i<=w+10001; i++){
        optim[i]=ceva;
    }

    for(int i=1; i<=g; i++){
        fin>>eg>>cg;
        total_eng+=eg;

        for(int j=w+eg; j>=eg; j--){
            optim[j]=fmin(optim[j], optim[j-eg]+cg);
            if(j>w){
                optim[w]=fmin(optim[w],optim[j]);
            }
        }
    }

    if(total_eng<w){
        fout<<-1;
    }
    else{
        fout<<optim[w];
    }

    return 0;
}