Pagini recente » Cod sursa (job #2666768) | Cod sursa (job #1665397) | Cod sursa (job #99567) | Cod sursa (job #1774197) | Cod sursa (job #651556)
Cod sursa(job #651556)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("secv.in");
ofstream g("secv.out");
int i,p,qq,n,s,nr[50050],v[50050],lng,we,ok;
int main()
{
f>>n;
for(i=1; i<=n; i++)
{
f>>v[i];
nr[i]=v[i];
}
sort (nr+1,nr+n+1);
nr[n+1]=-111;
for(i=2; i<=n+1; i++)
{
if (nr[i]!=nr[i-1])
{
s++;
nr[s]=nr[i-1];
}
}
for(i=s+1; i<=n+1; i++)
nr[i]=0;
qq=nr[1];
lng=555555;
for(i=1; i<=n; i++)
{
p=i+1;
we=2;
ok=0;
if (v[i]==qq)
while (ok==0&&p<=n)
{
if (v[p]==nr[we]) we++;
if (we==s+1)
{
lng=min(lng,p-i+1);
ok=1;
}
p++;
}
}
if (lng==2) g<<1; else
if (n==0) g<<0; else
if (lng>5005) g<<-1; else
g<<lng<<'\n';
f.close();
g.close();
return 0;
}