fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long
  4. int main()
  5. {
  6. ll t;
  7. cin>>t;
  8. while(t--)
  9. {
  10. ll n,x,s=0,r=-1;
  11. cin>>n>>x;
  12. ll arr[n+9],i,store,e;
  13. for(i=0;i<n;i++)
  14. cin>>arr[i];
  15. ll start=0,end;
  16. for(i=0;i<n;i++)
  17. {
  18. e=0;
  19. s+=arr[i];
  20. if(s>x)
  21. {
  22. end=i;
  23. if(r<=end-start)
  24. {
  25. store=s-arr[i];
  26. r=end-start;
  27. }
  28. s=s-arr[start];
  29.  
  30. start=start+1;
  31. e=1;
  32. }
  33. if(s==x)
  34. {
  35. end=i;
  36. if(r<=end-start+1)
  37. {
  38. store=s;
  39. r=end-start+1;
  40. }
  41. s=s-arr[start];
  42.  
  43. start=start+1;
  44. e=1;
  45. }
  46.  
  47.  
  48. }
  49. if(s<=x && e==0 )
  50. {
  51.  
  52. if(r<=n-start)
  53. {
  54. store=s;
  55. r=n-start;}
  56. }
  57. if(r==-1)
  58. r=n;
  59.  
  60.  
  61. ll f=0;
  62. for(i=0;i<n;i++)
  63. {
  64. if(arr[i]==0)
  65. f++;
  66. }
  67. if(f==n)
  68. cout<<"0 "<<n<<endl;
  69. else
  70. cout<<store<<" "<<r<<endl;
  71.  
  72. }
  73.  
  74. }
Success #stdin #stdout 0s 4584KB
stdin
1
6 5 
5 4 3 2 1 2 
stdout
5 3