Cod sursa(job #767005)

Utilizator batistaUPB-Oprea-Cosmin-Dumitru batista Data 12 iulie 2012 16:33:35
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream>
using namespace std;
int n,gmax;
int c[1002],g[1002];
int cmax[2][5002],Pmax;
void citire()
{int i,j;
   ifstream f("energii.in");
     f>>n>>gmax;
   for(i=1;i<=n;i++) f>>g[i]>>c[i];
f.close();
}

void rezolvare()
{int s,k=0,i;
  for(i=1;i<=n;i++,k=1-k)
	for(s=0;s<=gmax;s++)
	{
	   cmax[1-k][s]=cmax[k][s];
	   if(g[i]<=s)
		   cmax[1-k][s]=max(cmax[1-k][s], cmax[k][s-g[i]]+c[i]);
	}
 Pmax=cmax[k][gmax];
}

void afisare()
{int k;
  ofstream g("energii.out");
   g<<Pmax;
  g.close();
}
int main()
{citire();
 rezolvare();
 afisare();
}