fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. int n;
  6. scanf("%d",&n);
  7. for(int a=1;a<=n;a++)
  8. {
  9. int banyak;
  10. scanf("%d",&banyak);
  11. int arr[banyak+3];
  12. vector <pair<int,int> > y;
  13. int sum=0;
  14. for(int b=1;b<=banyak;b++)
  15. {
  16. scanf("%d",&arr[b]);
  17. sum=sum+arr[b];
  18. }
  19. sort(arr+1,arr+banyak+1);
  20. int batas=sum/2;
  21. int jarak=-1;
  22. for(int b=1;b<=banyak;b++)
  23. {
  24. if(arr[b]<=batas)
  25. y.push_back(make_pair(b,arr[b]));
  26. }
  27. for(int b=0;b<y.size();b++)
  28. {
  29. jarak=max(jarak,y[b].second);
  30. if(y[b].second==batas)
  31. {
  32. jarak=max(jarak,y[b].second);
  33. break;
  34. }
  35. else
  36. {
  37. for(int c=y[b].first%10+1;c<=banyak;c++)
  38. {
  39. int temp=y[b].first*10;
  40. temp=temp+c;
  41. if(y[b].second+arr[c]<=batas)
  42. y.push_back(make_pair(temp,y[b].second+arr[c]));
  43. }
  44. }
  45. }
  46. /*for(int b=0;b<y.size();b++)
  47. {
  48. printf("%d ",y[b].first);
  49. }
  50. printf("\n");
  51. printf("jarak=%d\n",jarak);*/
  52.  
  53. printf("%d\n",sum-(jarak*2));
  54. }
  55. }
Success #stdin #stdout 0s 4232KB
stdin
1
5
1
2
3
4
5
stdout
1