Cod sursa(job #2046039)
| Utilizator | Data | 23 octombrie 2017 12:18:10 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream reed("rucsac.in");
ofstream shaw("rucsac.out");
int w[1000],p[1000];
int main()
{
int n,g;
reed>>n>>g;
for(int i=1;i<=n;i=i+1){
reed>>w[i]>>p[i];
}
int cmax[1000];
int sol=0;
for(int i=1;i<=n;i=i+1){
for(int j=g-w[i];j>=0;j=j-1){
if(cmax[j+w[i]]<cmax[j]+p[i]){
cmax[j+w[i]]=cmax[j]+p[i];
if(cmax[j+w[i]]>sol){
sol=cmax[j+w[i]];
}
}
}
}
shaw<<sol;
return 0;
}
