Cod sursa(job #827795)

Utilizator andunhillMacarescu Sebastian andunhill Data 2 decembrie 2012 17:58:50
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>
#include<iostream>
#include<ctime>
using namespace std;

clock_t start=clock();

ifstream f("rucsac.in");
ofstream g("rucsac.out");

int N, G;
int W[5001];
int Pr[5001];
int P[3][10001];

int main()
{	int i, j;

	f>>N>>G;
	for(i = 0; i < N; i++)
		f>>W[i]>>Pr[i];

	for(j = W[0]; j <= G; j++)
		P[0][j] = Pr[0];
	for(i = 1; i < N; i++)
		for(j = 0; j <= G; j++)
			P[i % 2][j] = max(P[(i - 1) % 2][j], (j >= W[i] ? (P[(i - 1) % 2][j - W[i]] + Pr[i]) : 0));
	g<<P[(N - 1) % 2][G];

    cout << 1.0*(clock()-start)/(1.0*CLOCKS_PER_SEC) << '\n';
    f.close();
    g.close();
    return 0;
}