Cod sursa(job #948900)
| Utilizator | Data | 11 mai 2013 21:17:33 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include<fstream>
#include<cstring>
using namespace std;
int d1[10001],d2[10002];
ifstream in;
ofstream out;
int main()
{
in.open("rucsac.in");
out.open("rucsac.out");
int n,G,w,p,i;
in>>n>>G;
for(i=1;i<=n;i++)
{
in>>w>>p;
for(int j=1;j<=G;j++)
{
if(j<w)
d2[j]=d1[j];
else
if(d1[j]<d1[j-w]+p)
d2[j]=d1[j-w]+p;
else
d2[j]=d1[j];
}
memcpy(d1,d2,sizeof(d2));
}
out<<d1[G]<<"\n";
in.close();
out.close();
return 0;
}
