Cod sursa(job #1343095)

Utilizator thedarkvoicePopescu Filip thedarkvoice Data 14 februarie 2015 21:23:15
Problema Problema rucsacului Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
#include <stdlib.h>

int d[10001];

int main()
{
  int i, n, g, col, max, v, w;
  FILE *fi=fopen("rucsac.in", "r"), *fo=fopen("rucsac.out", "w");
  fscanf(fi, "%d%d", &n, &g);
  for(i=0;i<n;i++){
    fscanf(fi, "%d%d", &w, &v);
    for(col=g;col>=w;col--)
      if(col-w>=0)
        if(d[col-w]+v>d[col])
          d[col]=d[col-w]+v;
  }
  max=0;
  for(col=1;col<=g;col++)
    if(d[col]>max)
      max=d[col];
  fprintf(fo, "%d", max);
  return 0;
}