Pagini recente » Cod sursa (job #1308434) | Cod sursa (job #2551944) | Cod sursa (job #1415720) | Cod sursa (job #831166) | Cod sursa (job #2004267)
#include <bits/stdc++.h>
using namespace std;
FILE *F = fopen("secv.in", "r"), *G = fopen("secv.out", "w");
int k, u, p, n, x, w[5001], v[5001], K, lg, su = 6001, sp = 0;
set<int> s;
int main()
{
fscanf(F, "%d ", &n);
for(int i = 1; i <= n; ++ i)
{
fscanf(F, "%d ", &v[i]);
s.insert(v[i]);
}
while(!s.empty())
{
x = *s.begin();
w[++ K] = x;
s.erase(s.begin());
}
for(int i = 1; i <= n; ++ i)
{
lg = 1;
for(int j = i; j <= n; ++ j)
{
if(v[j] == w[lg]) lg++;
if(lg == K+1)
{
if(su - sp > j - i) su = j, sp = i;
break;
}
}
}
if(su == 6001) fprintf(G, "%d", -1);
else fprintf(G, "%d", su - sp + 1);
return 0;
}