Pagini recente » Cod sursa (job #1627) | Cod sursa (job #196351) | Cod sursa (job #2563515) | Cod sursa (job #1467703) | Cod sursa (job #2776327)
#include <fstream>
#include <set>
#include <climits>
using namespace std;
ifstream cin("secv.in");
ofstream cout("secv.out");
int v[5005];
set <int, greater <int> > s;
int main()
{
int n, i, mn = INT_MAX;
cin >> n;
for (i = 1; i <= n; i++)
{
cin >> v[i];
s.insert(v[i]);
mn = min(mn, v[i]);
}
int pozant = n + 1;
int last, first;
for (set <int> :: iterator it = s.begin(); it != s.end(); it++)
{
bool ok = 0;
for (i = pozant - 1; i >= 1; i--)
if (v[i] == *it)
{
ok = 1;
if (it == s.begin())
last = i;
if (*it == mn)
first = i;
pozant = i;
break;
}
if (!ok)
{
cout << -1;
return 0;
}
}
cout << last - first + 1;
}