Pagini recente » Cod sursa (job #2344018) | Cod sursa (job #1254112) | Cod sursa (job #3204918) | Cod sursa (job #2383663) | Cod sursa (job #2595135)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
const int DIM = 5001;
int v[DIM];
int ans = 0;
main()
{
int n;
fin >> n;
if(n == 0)
{
fout << 0;
return 0;
}
ans = -1;
vector <int> aux;
for(int i = 1; i <= n; ++i)
{
fin >> v[i];
aux.emplace_back(v[i]);
}
sort(aux.begin(), aux.end());
aux.erase(unique(aux.begin(), aux.end()), aux.end());
for(int i = 1; i <= n; ++i)
{
v[i] = lower_bound(aux.begin(), aux.end(), v[i]) - aux.begin() + 1;
}
int d = aux.size();
for(int i = 1; i <= n; ++i)
if(v[i] == 1)
{
int last = 1;
int siz = 1;
for(int j = i + 1; j <= n && last < d; ++j, ++siz)
if(v[j] == last + 1)
{
++last;
}
if(last == d && (ans == -1 || ans > siz))
ans = siz;
}
fout << ans << '\n';
}