Am facut cum mi-a sugerat scipianus cu problema rucsacului si merge tot inafara de ultimul test la care iau TLE.Ce optimizare pot sa-i mai fac??Am incercat citirea si scriere si cu fstream si cu cstdio aceealasi lucru TLE
:
http://infoarena.ro/job_detail/670732P.S.:Cum as putea face ca sa afisez si din ce numere este formata fiecare suma ca si in exemplu ??
(la jocul se cerea numai cele doua sume)
#include<fstream>
using namespace std;
int G[1001],S;
int D[2][100002],s1,s2;
int main(){
ifstream f("jocul.in");
int n,i,j;
int l=0;
f>>n;
for(i=1;i<=n;i++){
f>>G[i];
S+=G[i];
}
for(i=1;i<=n;i++,l=1-l){
for(j=0;j<=S/2;j++){
D[1-l][j] = D[l][j];
if(j>=G[i])
D[1-l][j]=max(D[1-l][j],D[l][j-G[i]]+G[i]);
}
}
s1=D[l][S/2];
s2=S-D[l][S/2];
ofstream g("jocul.out");
g<<min(s1,s2)<<" "<<max(s1,s2)<<"\n";
return 0;
}