Pagini recente » Cod sursa (job #2553975) | Cod sursa (job #3214251) | Cod sursa (job #2966951) | Cod sursa (job #2755763) | Cod sursa (job #2909108)
/**
____ ____ ____ ____ ____
||O |||M |||E |||G |||A ||
||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|
Se spune ca sunt vise
Si ca nu pot fi atinse
Sunt primele ce le vezi cand becurile-s stinse
Dar si cand is aprinse
Cand te trezesti cu ele-n gand
Si le vizualizezi din nou rand pe rand
Se spune ca visezi daca stai si-ti imaginezi
Ca esti altfel decat ceilalti, dar nu tre sa crezi
Continua sa lupti altfel imi vei da dreptate
Vei bea pe spate cu gandul la vise spulberate
- "Vise" - Nane -
**/
#include<bits/stdc++.h>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int n,v[5005],v2[5005],mn(5005);
vector<int>d;
int main(){
fin>>n;
for(int i=1;i<=n;i++)fin>>v[i],v2[i]=v[i];
sort(v2+1,v2+n+1);
v2[0]=v2[1]-1;
for(int i=1;i<=n;i++)if(v2[i]!=v2[i-1])d.push_back(v2[i]);
for(int i=1;i<=n;i++){
if(v[i]!=d[0])continue;
int p(0);
bool g(false);
for(int j=i;j<=n&&!g;j++){
if(v[j]==d[p])p++;
if(p==d.size()){
mn=min(mn,j-i+1);
g=true;
}
}
}
fout<<((mn==5005)?-1:mn);
return 0;
}