Pagini recente » Istoria paginii utilizator/alternatetudose | Cod sursa (job #194467) | Cod sursa (job #1884468) | Cod sursa (job #2149089) | Cod sursa (job #2844852)
#include <bits/stdc++.h>
using namespace std;
long long int v[5011],d[5011];
int main()
{
ifstream cin("secv.in");
ofstream cout("secv.out");
long long int n, k=1, nr=0, minim=2000000000;
cin >> n;
for (int i = 1; i <= n; i++){
cin >> v[i];
d[i] = v[i];
}
sort(d + 1, d + n + 1);
for (int i = 2; i <= n; i++){
if (d[i] != d[k]){
k++;
d[k] = d[i];
}
}
if (k == 1){
if(n==1){
cout<<1;
}else{
cout<<0;
}
}
for (int i=1; i<=n; i++){
if (v[i] == d[1]){
nr = 2;
for (int j = i + 1; j <= n; j++){
if (v[j] == d[nr]){
nr++;
}
if (j - i + 1 >= minim){
break;
}
if (nr == k+1){
minim = j - i + 1;
break;
}
}
}
}
if (minim == 2000000000){
if(n==1){
cout<<1;
}else{
cout<<0;
}
}else{
cout << minim;
}
}