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>a(n);
  10. for(ll i=0;i<n;i++) cin>>a[i];
  11. unordered_map<ll,ll> pos;
  12. pos[a[0]]=0;
  13. ll mini=LLONG_MAX;
  14. for(ll i=1;i<n;i++){
  15. ll req=k-a[i];
  16. if(pos.count(req)){
  17. ll sz=i-pos[req]+1;
  18. mini=min(mini,sz);
  19. }
  20. if(!pos.count(a[i]))
  21. pos[a[i]]=i;
  22. }
  23. cout<<mini<<endl;
  24. return 0;
  25. }
Success #stdin #stdout 0s 5320KB
stdin
8 8
5 6 7 8 10 4 3 2 1
 
stdout
7