Pagini recente » Cod sursa (job #147162) | Cod sursa (job #1026995) | Cod sursa (job #2435583) | Cod sursa (job #1044678) | Cod sursa (job #1494048)
#include <fstream>
using namespace std;
int D[2][1000], G[1000], P[1000],N,Gr;
bool u=0;
int main(){
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
fin>>N>>Gr;
for (int i=1; i<=N; i++) fin>>G[i]>>P[i];
for (int i=1; i<=N; i++,u=!u)
for (int j=1; j<=Gr; j++)
{D[u][j]=D[!u][j];
if(j>=G[i]){
D[u][j]=max(D[!u][j],D[!u][j-G[i]]+P[i]);
}
}
fout<<D[!u][Gr];
return 0;
}