#include <iostream>
using namespace std;
#include <bits/stdc++.h>
#include<vector>
int main() {
// your code goes here
vector<int>arr={5,6,7,8,10,4,3,2,1};
int k=8;
int n=arr.size();
int count=0;
int smallest_length=1000;
unordered_map<int,int>map;
for(int j=0;j<n;j++)
{
if(map.find(k-arr[j])!=map.end())
{
int length=j-map[arr[j]]+1;
smallest_length=min(length,smallest_length);
}
map[arr[j]]=j;
}
if(smallest_length>=2)
cout<<smallest_length;
else
cout<<-1;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGU8dmVjdG9yPgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXZlY3RvcjxpbnQ+YXJyPXs1LDYsNyw4LDEwLDQsMywyLDF9OwoJaW50IGs9ODsKCWludCBuPWFyci5zaXplKCk7CglpbnQgY291bnQ9MDsKCWludCBzbWFsbGVzdF9sZW5ndGg9MTAwMDsKCXVub3JkZXJlZF9tYXA8aW50LGludD5tYXA7Cglmb3IoaW50IGo9MDtqPG47aisrKQoJIHsKCSAJCgkgCWlmKG1hcC5maW5kKGstYXJyW2pdKSE9bWFwLmVuZCgpKQoJIAkgewoJIAkgCWludCBsZW5ndGg9ai1tYXBbYXJyW2pdXSsxOwoJIAkgCXNtYWxsZXN0X2xlbmd0aD1taW4obGVuZ3RoLHNtYWxsZXN0X2xlbmd0aCk7CgkgCSB9CgkgCQoJIAltYXBbYXJyW2pdXT1qOwoJIH0KCSBpZihzbWFsbGVzdF9sZW5ndGg+PTIpCgkgY291dDw8c21hbGxlc3RfbGVuZ3RoOwoJIGVsc2UKCSAgY291dDw8LTE7CglyZXR1cm4gMDsKfQ==