Pagini recente » Cod sursa (job #1045175) | Cod sursa (job #1507109) | Cod sursa (job #1340530) | Cod sursa (job #3221780) | Cod sursa (job #2777326)
#include <fstream>
#include <set>
#include <climits>
using namespace std;
ifstream cin("secv.in");
ofstream cout("secv.out");
set <int> s;
set <int> :: iterator it;
int v[5005], n;
bool ok;
int len(int poz, set <int> :: iterator it) //lungimea sirului sau -1
{
it++;
int rez = -1;
if (it == s.end())
return 0;
for (int i = poz; i <= n; i++)
if (v[i] == *it)
return i - poz + len(i, it);
return INT_MIN;
}
int main()
{
int poz, i;
cin >> n;
if (n == 0)
{
cout << -1;
return 0;
}
for (i = 1; i <= n; i++)
{
cin >> v[i];
s.insert(v[i]);
}
it = s.begin();
int ans = -1;
for (i = 1; i <= n; i++)
if (v[i] == *s.begin())
{
int val = len(i, s.begin()) + 1;
if (val > 0)
{
if (ans == -1)
ans = val;
else
ans = min(ans, val);
}
}
cout << ans;
}