Cod sursa(job #1283668)

Utilizator otnielMercea Otniel otniel Data 5 decembrie 2014 22:00:55
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<iostream>
using namespace std;
int greu[10001],pierd[10001],castig[1000000],i,n,s=999999999,cautat,smax,j;
#include<fstream>
ifstream f("energii.in");
ofstream g("energii.out");
int main()
{
   f>>n>>cautat;
    for(i=1;i<=n;i++)
    {f>>greu[i]>>pierd[i];
        smax=smax+greu[i];
    }
 for(i=1;i<=smax;i++)
    castig[i]=999999999;
    for(i=1;i<=n;i++)
        {for(j=smax-greu[i];j>=0;j--)
            if(castig[j+greu[i]]>castig[j]+pierd[i])
        {
            castig[j+greu[i]]=castig[j]+pierd[i];
            if(castig[j+greu[i]]<s&&j+greu[i]>=cautat)
            s=castig[j+greu[i]];
        }
        }

      if(s!=0)
      g<<s;
      else
        g<<"-1";
}