Nu aveti permisiuni pentru a descarca fisierul grader_test10.in
Cod sursa(job #3246634)
| Utilizator | Data | 3 octombrie 2024 20:16:36 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <stdio.h>
#define MAX_N 5000
#define MAX_G 10000
int w[MAX_N], p[MAX_G], v[MAX_G + 1];
static inline int max( int a, int b ) {
return a > b ? a : b;
}
int main() {
FILE *fin, *fout;
int n, g, i, j;
fin = fopen( "rucsac.in", "r" );
fscanf( fin, "%d%d", &n, &g );
for ( i = 0; i < n; i++ )
fscanf( fin, "%d%d", &w[i], &p[i] );
fclose( fin );
for ( i = 0; i < n; i++ )
for ( j = g; j >= w[i]; j-- )
v[j] = max( v[j], v[j - w[i]] + p[i] );
fout = fopen( "rucsac.out", "w" );
fprintf( fout, "%d\n", v[g] );
fclose( fout );
return 0;
}
