fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define lli long long int
  5. #define s(n) scanf("%d",&n)
  6. #define sl(n) scanf("%lld",&n)
  7. #define forup(i,a,b) for(int i=a;i<b;i++)
  8.  
  9.  
  10. vector<lli> checkScore(lli arr[],lli n,lli sum){
  11. vector<lli> res;
  12. lli first=0,last=n-1,tsum=0,fl=0;
  13. if(sum==0)
  14. return res;
  15. while(first<=last){
  16. tsum+=arr[first];
  17. res.push_back(first+1);
  18. first+=1;
  19. if(tsum==sum){
  20. fl=1;
  21. return res;
  22. }
  23. else{
  24. tsum+=arr[last];
  25. res.push_back(last+1);
  26. last-=1;
  27. if(tsum==sum){
  28. fl=1;
  29. return res;
  30. }
  31. }
  32. }
  33. if(fl==0){
  34. res.clear();
  35. return res;
  36. }
  37. }
  38.  
  39.  
  40. int main(){
  41. int t;
  42. s(t);
  43. while(t--){
  44. lli n,sum;
  45. sl(n);
  46. lli arr[n];
  47. forup(i,0,n){
  48. sl(arr[i]);
  49. }
  50. sl(sum);
  51. vector<lli> res=checkScore(arr,n,sum);
  52. if(res.size()==0){
  53. cout<<"BING"<<endl;
  54. }
  55. else{
  56. forup(i,0,res.size()){
  57. cout<<res[i]<<" ";
  58. }
  59. cout<<endl;
  60. }
  61. }
  62. return 0;
  63. }
Success #stdin #stdout 0s 3476KB
stdin
1 
6 
17 8 9 21 3 5 
30 
stdout
1 6 2