Cod sursa(job #1012167)

Utilizator alexandru213Bracau Alexandru alexandru213 Data 18 octombrie 2013 13:12:28
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int inf,g,w,i,j,e,c,a[5002],b[3][1002];
int main(){
    inf=2000000000;
    in>>g>>w;
    for(i=1;i<=w;i++)
        a[i]=inf;
    for(i=1;i<=g;i++){
        in>>e>>c;
        for(j=w;j>=0;j--){
            if(a[j]!=inf){
                if(j+e>w){
                    if(a[j]+c<a[w])
                        a[w]=a[j]+c;}
                else
                    if(a[j]+c<a[j+e])
                        a[j+e]=a[j]+c;}

        }}
    if(a[w]!=inf)
        out<<a[w];
    else out<<-1;
    return 0;}