fork download
  1. #include<cstdio>
  2. #include<algorithm>
  3. using namespace std;
  4.  
  5. int force(int a[],int n,int p=0,int sum=0)
  6. {
  7. if(p>=n)
  8. return sum;
  9. int ns=sum+a[p],mx=0;
  10. int d[10]={1,0};
  11. while(ns)
  12. {
  13. d[d[0]]=ns%10;
  14. ns/=10;
  15. d[0]++;
  16. }
  17. sort(d+1,d+d[0]);
  18. do
  19. {
  20. ns=0;
  21. for(int i=1;i<d[0];i++)
  22. ns=ns*10+d[i];
  23. mx=max(mx,force(a,n,p+1,ns));
  24. }while(next_permutation(d+1,d+d[0]));
  25. return mx;
  26. }
  27.  
  28. int main()
  29. {
  30. int n,i;
  31. scanf("%d",&n);
  32. int a[n];
  33. for(i=0;i<n;i++)
  34. scanf("%d",a+i);
  35. int res=force(a,n);
  36. printf("%d\n",res);
  37. return 0;
  38. }
  39.  
Success #stdin #stdout 0s 3344KB
stdin
3
99 99 99
stdout
8100