Cod sursa(job #1111394)

Utilizator mihasemmihaela mihasem Data 18 februarie 2014 20:52:07
Problema Ghiozdan Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <iostream>
using namespace std;
long a[20001],Gmax,v[20001],g[20001],i,n,j,s,k;
int main()
{
ifstream f( "ghiozdan.in");
ofstream h( "ghiozdan.out");
f>>n>>Gmax;
for(i=1;i<=n;i++)
{f>>g[i];
}

for (i=1;i<=n;i++)
{
    for(j=Gmax;j>=g[i];j--)

if(g[i]+a[j-g[i]]>a[j])
{a[j]=g[i]+a[j-g[i]];
v[j]=1+v[j-g[i]];}
else
if (g[i]+a[j-g[i]]==a[j])
if(v[j]>1+v[j-g[i]])
   v[j]=1+v[j-g[i]];
/*cout<<"-------------"<<g[i]<<endl;
for(k=1;k<=Gmax;k++)
cout<<k<<" ";
cout<<endl;
for(k=1;k<=Gmax;k++)
cout<<a[k]<<" ";
cout<<endl;
for(k=1;k<=Gmax;k++)
cout<<v[k]<<" ";
cout<<endl;*/
}
cout<<a[Gmax]<<" "<<v[Gmax];
}