Cod sursa(job #1768057)
Utilizator | Vasilescu Eliza Vasilescu | Data | 30 septembrie 2016 09:19:48 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <stdio.h>
int v[10000];
int main(){
FILE *fin, *fout;
fin=fopen("rucsac.in", "r");
fout=fopen("rucsac.out", "w");
int n, g, w, i,j, p, max=0;
fscanf(fin, "%d%d", &n, &g);
for(i=1; i<=n; i++){
fscanf(fin, "%d%d", &w, &p);
if(p){
for(j=g-w; j>=0; j--){
if(v[j]+p>v[j+w] && j+w<=g)
v[j+w]=v[j]+p;
if(v[j+w]>max)
max=v[j+w];
}
}
}
fprintf(fout, "%d\n", max);
return 0;
}