Cod sursa(job #1230716)

Utilizator buzu.tudor67Tudor Buzu buzu.tudor67 Data 19 septembrie 2014 01:00:20
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
ifstream fi("rucsac.in");
ofstream fo("rucsac.out");

const int max_n = 5003;
const int max_g = 10004;

int i,j,n,maxg,g[max_n],p[max_n];
int Profit_Maxim,profit_optim[max_g];

int main(){
    fi>>n>>maxg;
    for(i=1;i<=n;i++) fi>>g[i]>>p[i];
    
    Profit_Maxim=0;
    profit_optim[0]=0;
    
    for(i=1;i<=n;i++)
      for(j=maxg;j-g[i]>=0;j--)
        if(profit_optim[j-g[i]]+p[i]>profit_optim[j])
          {
           profit_optim[j]=profit_optim[j-g[i]]+p[i];
           if(profit_optim[j]>Profit_Maxim) Profit_Maxim=profit_optim[j];
          }
    
    fo<<Profit_Maxim;
    
    fi.close();
    fo.close();
    return 0;
}