fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. bool comp(int a,int b)
  5. {
  6. return a > b;
  7. }
  8.  
  9. int main() {
  10. int T;
  11. cin>>T;
  12.  
  13.  
  14. while(T--)
  15. {
  16. int N;
  17. cin>>N;
  18.  
  19. int A[N];
  20. for(int i=0;i<N;i++)
  21. {
  22. cin>>A[i];
  23. }
  24.  
  25. while(true)
  26. {
  27. sort(A,A+N,comp);
  28. int i=0;
  29. int flag =0;
  30. while(A[i] > 2*A[N])
  31. {
  32. i++;
  33. }
  34.  
  35. cout<<"i="<<i<<endl;
  36. if(A[i] <= 2*A[N] && A[i] > A[N])
  37. {
  38. int temp = A[i];
  39. A[i] = A[N];
  40. A[N] = temp;
  41. flag=1;
  42. }
  43. for(int j=0;j<=N;j++)
  44. {
  45. cout<<"A["<<j<<"]="<<A[j]<<endl;
  46. }
  47.  
  48. if(flag == 0)
  49. {
  50. break;
  51. }
  52. }
  53.  
  54. int sum=0;
  55. for(int i=0;i<N;i++)
  56. {
  57. sum+=A[i];
  58. }
  59.  
  60. cout<<sum<<endl;
  61. }
  62.  
  63. }
  64.  
Success #stdin #stdout 0.01s 5284KB
stdin
4
4
5 2 1 2 3
3
3 10 30 1
4
16 4 8 2 1
4
20 100 30 49 15
stdout
i=6
A[0]=5
A[1]=2
A[2]=2
A[3]=1
A[4]=-210210808
10
i=0
A[0]=10
A[1]=3
A[2]=3
A[3]=21950
16
i=24
A[0]=32790048
A[1]=32766
A[2]=32766
A[3]=32766
A[4]=32766
A[5]=21950
A[6]=5316
A[7]=100
A[8]=49
A[9]=30
A[10]=30
A[11]=20
A[12]=16
A[13]=15
A[14]=8
A[15]=4
A[16]=4
A[17]=4
A[18]=2
A[19]=1
A[20]=1
A[21]=0
A[22]=0
A[23]=-210210784
A[24]=-587966944
A[25]=-751306240
A[26]=-760977514
A[27]=-1341011168
A[28]=-1341011168
A[29]=-1341011312
A[30]=-210222771
-2005579172
i=23
A[0]=32790048
A[1]=32766
A[2]=32766
A[3]=32766
A[4]=32766
A[5]=32766
A[6]=32766
A[7]=32766
A[8]=21950
A[9]=21950
A[10]=21950
A[11]=21950
A[12]=5316
A[13]=5316
A[14]=4
A[15]=4
A[16]=2
A[17]=1
A[18]=1
A[19]=0
A[20]=-210210496
A[21]=-210210784
A[22]=-210210784
A[23]=-587966944
A[24]=-588815570
A[25]=-751306240
A[26]=-760977514
A[27]=-1341011168
A[28]=-1341011228
A[29]=-1341011280
A[30]=-210222771
1280320438