Cod sursa(job #2003118)

Utilizator MihalachiRazvanMihalachi Razvan MihalachiRazvan Data 21 iulie 2017 20:42:12
Problema Energii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int seg,scg,l,a[100][10001],x,g,w,eg,cg;
int main()
{
    fin>>g;
    fin>>w;
    int l=0;
    for(int i=1;i<=g;i++,l=1-l)
    {
        fin>>eg>>cg;
        for(int j=1;j<=w;j++)
        {
            if(eg>=j)
                {
                    if(a[1-l][j]!=0)
                    a[l][j]=min(cg,a[1-l][j]);
                    else
                    a[l][j]=cg;}
                else
                {
                     if(a[1-l][j-eg]!=0)
                     {
                         if(a[1-l][j]!=0)
                            a[l][j]=min(a[1-l][j],cg+a[1-l][j-eg]);
                         else
                            a[l][j]=cg+a[1-l][j-eg];
                     }
                     else
                        if(a[1-l][j]!=0)
                        a[l][j]=a[1-l][j];
                      else
                        a[l][j]=0;

                }

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