Cod sursa(job #3246129)
| Utilizator | Data | 1 octombrie 2024 22:35:02 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include <stdio.h>
#include <stdlib.h>
#define MAXG 10000
int dp[MAXG+1];
int main(){
FILE *fin,*fout;
int n,i,j,g,w,p;
fin=fopen("rucsac.in","r");
fscanf(fin,"%d%d",&n,&g);
for(i=0;i<n;i++){
fscanf(fin,"%d%d",&w,&p);
for(j=g;j>=w;j--){
if(dp[j]<dp[j-w]+p){
dp[j]=dp[j-w]+p;
}
}
}
fclose(fin);
fout=fopen("rucsac.out","w");
fprintf(fout,"%d",dp[g]);
fclose(fout);
return 0;
}
