fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. vector<int>ans(vector<int> &v,int k){
  4. map<int,int>m;m[0]=0;
  5. int mi=INT_MAX;int ma=0;int sum=0;
  6. for(int i=0;i<v.size();i++){
  7. sum+=v[i];
  8. if(m.find(sum-k)!=m.end()){
  9. mi=min(mi,abs(m[sum-k]-i)+1);
  10. ma=max(ma,abs(m[sum-k]-i)+1);
  11. }
  12. m[sum]=i;
  13. }
  14. return{mi,ma};
  15. }
  16. int main(){
  17. int n;cin>>n;
  18. vector<int>v(n);
  19. for(int i=0;i<n;i++)cin>>v[i];
  20. int k;cin>>k;
  21. vector<int>a=ans(v,k);
  22. for(auto x:a)cout<<x<<" ";
  23. return 0;
  24. }
Success #stdin #stdout 0s 5320KB
stdin
5
1 0 1 2 3
3
stdout
2 3