fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. using ll =long long;
  4.  
  5. int main() {
  6. // your code goes here
  7. ll n,k;
  8. cin>>n>>k;
  9. vector<ll>arr(n);
  10. for(ll i=0;i<n;i++) cin>>arr[i];
  11. ll sum=0;
  12. unordered_map<ll,ll>mp;
  13. mp[0]=-1;
  14.  
  15. ll length=0;
  16. ll ans=0;
  17. for(ll i=0;i<n;i++){
  18. sum+=arr[i];
  19. if(mp.count(sum-k)){
  20. ll len=i-mp[sum-k];
  21. cout<<len<<endl;
  22. if(length<len) {
  23. length=len;
  24. ans=1;
  25. }
  26. else if(len==length) ans++;
  27. }
  28. if(!mp.count(sum))
  29. mp[sum]=i;
  30. }
  31.  
  32. cout<<ans<<endl;
  33. return 0;
  34. }
Success #stdin #stdout 0s 5320KB
stdin
8 15
10 5 2 7 1 9 8 7
stdout
2
4
2
1