Pagini recente » Cod sursa (job #687033) | Cod sursa (job #1573392) | Monitorul de evaluare | Diferente pentru blog/viata-dupa-olimpiade-2 intre reviziile 12 si 10 | Cod sursa (job #723718)
Cod sursa(job #723718)
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int G,g[5012],p[5012],P;
int a[2][5012];
int main(void)
{
int n;
fstream f,go;
f.open("rucsac.in",ios::in);
go.open("rucsac.out",ios::out);
f>>n>>G;
int i;
for (i=1;i<=n;i++)
f>>g[i]>>p[i];
int gr;
for (i=1;i<=n;i++)
{
if (i%2==1)
for (gr=1;gr<=G;gr++)
{
a[1][gr]=a[0][gr];
if(g[i]<=gr)
a[1][gr]=max(a[1][gr],a[0][gr-g[i]]+p[i]);
}
else
for (gr=1;gr<=G;gr++)
{
a[0][gr]=a[1][gr];
if(g[i]<=gr)
a[0][gr]=max(a[0][gr],a[1][gr-g[i]]+p[i]);
}
}
go<<a[n%2][G];
}