Pagini recente » Cod sursa (job #1175990) | Cod sursa (job #2584740) | Cod sursa (job #1876064) | Cod sursa (job #1609876) | Cod sursa (job #933566)
Cod sursa(job #933566)
#include<cstdio>
#include<cstring>
using namespace std;
FILE *in,*out;
const int N = 1010;
int n,val[N*100],v[N],Sl=0;
int main(){
in=fopen("jocul.in","r");
out=fopen("jocul.out","w");
val[0]=1;
fscanf(in,"%d",&n);
int k=0;
for(register int i = 1; i<=n ;i++){
fscanf(in,"%d",&v[i]);
Sl+=v[i];
if(v[i]>k) k=v[i];
}
int lim=Sl/2;
for(register int i =1; i<=n ;++i){
for(register int j = lim; j>=0; --j){
if(val[j]){
val[j+v[i]]=1;
if(j+v[i]>k&&j+v[i]<=lim) k=j+v[i];
}
}
}
fprintf(out,"%d %d",k,Sl-k);
fclose(in);
fclose(out);
return 0;
}