Pagini recente » Cod sursa (job #690624) | Cod sursa (job #1861566) | Cod sursa (job #61689) | Cod sursa (job #2750007) | Cod sursa (job #997984)
Cod sursa(job #997984)
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <algorithm>
using namespace std;
const int NMAX = 5005, INF = 0x3f3f3f3f;
int N, V[NMAX], Ans = INF;
vector<int> S, Unique;
int main()
{
freopen("secv.in", "r", stdin);
freopen("secv.out", "w", stdout);
scanf("%i", &N);
for(int i = 1; i <= N; ++ i)
scanf("%i", &V[i]), S.push_back(V[i]);
sort(S.begin(), S.end());
Unique.push_back(S[1]);
for(int i = 1; i < S.size(); ++ i)
if(S[i] != S[i - 1])
Unique.push_back(S[i]);
for(int i = 1; i <= N; ++ i)
if(V[i] == Unique[0])
{
int Cnt = 1, j = i + 1;
while(j <= N && Cnt < Unique.size())
{
if(V[j] == Unique[Cnt]) Cnt ++;
j ++;
}
j --;
if(Cnt == Unique.size()) Ans = min(Ans, j - i + 1);
}
printf("%i\n", Ans);
return 0;
}