fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.  
  6. int n,x;
  7. cin>>n>>x;
  8.  
  9. int a[n];
  10. for(int i=0;i<n;i++)
  11. {
  12. cin>>a[i];
  13. }
  14.  
  15. int i=0;
  16. int j=0;
  17. int count1=0;
  18. int sum=0;
  19. while(i < n)
  20. {
  21. cout<<"sum="<<sum<<" j="<<j<<" a["<<i<<"]="<<a[i]<<endl;
  22. if(sum == x)
  23. {
  24. count1++;
  25. sum-=a[j];
  26. j++;
  27. }
  28. else if(sum < x)
  29. {
  30. sum+=a[i];
  31. i++;
  32. }
  33. else
  34. {
  35. sum-=a[j];
  36. j++;
  37. }
  38. }
  39.  
  40. while(j < n)
  41. {
  42. cout<<"sum="<<sum<<" j="<<j<<" a["<<i<<"]="<<a[i]<<endl;
  43. if(sum == x)
  44. {
  45. count1++;
  46. sum-=a[j];
  47. j++;
  48. }
  49. else
  50. {
  51. sum-=a[j];
  52. j++;
  53. }
  54. }
  55.  
  56.  
  57. cout<<count1<<endl;
  58.  
  59. return 0;
  60. }
  61.  
Success #stdin #stdout 0.01s 5292KB
stdin
5 7
2 -1 3 5 -2
stdout
sum=0 j=0 a[0]=2
sum=2 j=0 a[1]=-1
sum=1 j=0 a[2]=3
sum=4 j=0 a[3]=5
sum=9 j=0 a[4]=-2
sum=7 j=1 a[4]=-2
sum=8 j=2 a[4]=-2
sum=5 j=3 a[4]=-2
sum=3 j=3 a[5]=32767
sum=-2 j=4 a[5]=32767
1