fork download
  1. /*Submitted By:- Waqas Hamid*/
  2. /*Codechef Nick : beginner007*/
  3. /*Leetcode Nick : beginner007*/
  4. /*Topcoder Nick : beginner007*/
  5. /*Codeforces Nick : beginner7*/
  6.  
  7. #include<bits/stdc++.h>
  8. #define LL long long int
  9. #define s(a) scanf("%d",&a)
  10. #define sl(a) scanf("%lld",&a)
  11. #define ss(a) scanf("%s",a)
  12. #define w(t) while(t--)
  13. #define f(i,n) for(i=0;i<n;i++)
  14. #define fd(i,n) for(i=n-1;i>=0;i--)
  15. #define p(a) printf("%d",a)
  16. #define pl(a) printf("%lld",a)
  17. #define ps(a) printf("%s",a)
  18. #define pc(a) printf("%c",a)
  19. #define ent printf("\n")
  20. #define mod 1000000007
  21. #define PI 3.14159265
  22. #define gs getline(cin,s)
  23. #define pb push_back
  24. #define mp make_pair
  25. #define INF 1e18
  26.  
  27. using namespace std;
  28.  
  29. int arr[10005];
  30. int X[2015];
  31.  
  32. priority_queue< int,vector<int>,greater<int> > Q;
  33.  
  34. int main()
  35. {
  36. int t,i,j,n,k1,k2,k3,k,x;
  37. sl(t);
  38. w(t)
  39. {
  40. sl(n);sl(k1);sl(k2);sl(k3);
  41. for(i=1;i<=n;i++)
  42. {
  43. sl(arr[i]);
  44. arr[i]+=arr[i-1];
  45. }
  46. for(i=1;i<=n;i++)
  47. {
  48. for(j=i;j<=n;j++)
  49. {
  50. x=arr[j]-arr[i-1];
  51. if(Q.size()<k3)
  52. Q.push(x);
  53. else
  54. {
  55. if(x>Q.top())
  56. {
  57. Q.pop();Q.push(x);
  58. }
  59. }
  60. }
  61. }
  62. k=k3;
  63.  
  64. while(!Q.empty())
  65. {
  66. X[k--]=Q.top();
  67. Q.pop();
  68. }
  69. printf("%d %d %d\n",X[k1],X[k2],X[k3]);
  70. }
  71. return 0;
  72. }
Success #stdin #stdout 0s 3460KB
stdin
3
3 1 2 3
10 20 30
3 3 4 6
10 20 30
4 2 6 10
20 -15 10 -15
stdout
60 50 30
30 30 10
15 -5 -20