Cod sursa(job #946256)

Utilizator robertstrecheStreche Robert robertstreche Data 4 mai 2013 10:47:48
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;

ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,m,i,j,ma,gg[10000],p[10000],a[5001][3];
int main()
{
    f>>n>>m;
    for (i=1;i<=n;i++)f>>gg[i]>>p[i];
    for (i=1;i<=m;i++)
     {

         for (j=1;j<=n;j++)
         {
             if (i+gg[j]<=m && a[i][1])a[i+gg[j]][2]=p[j]+a[i][2];
             else a[gg[j]][1]=p[j]>a[gg[j]][1]?p[j]:a[gg[j]][1];
         a[i+gg[j]][1]=a[i+gg[j]][1]>a[i+gg[j]][2]?a[i+gg[j]][1]:a[i+gg[j]][2];
         }

     }
     for (i=1;i<=n;i++)
     if(a[i][1]>ma)ma=a[i][1];
     g<<ma;
     f.close();
     g.close();
}