Cod sursa(job #1768065)

Utilizator ivan.tudorIvan Tudor ivan.tudor Data 30 septembrie 2016 09:29:43
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include<cstdio>
using namespace std;
int pg[10001];
int main()
{
    int n,gmax,i,j,p,g,maxi;
    FILE*fin,*fout;
    fin=fopen("rucsac.in","r");
    fscanf(fin,"%d%d",&n,&gmax);
    pg[0]=1;
    maxi=-1;
    for(i=0;i<n;i++){
      fscanf(fin,"%d%d",&g,&p);
      for(j=gmax-g;j>=0;j--){
          if(pg[j]+p>pg[j+g]){
            pg[j+g]=pg[j]+p;
            if(pg[j+g]>maxi)
              maxi=pg[j+g];

        }
      }
    }
    fclose(fin);
    fout=fopen("rucsac.out","w");
    fprintf(fout,"%d",maxi-1);
    fclose(fout);
    return 0;
}