Pagini recente » Monitorul de evaluare | Diferente pentru utilizator/robertpoe intre reviziile 69 si 68 | Profil Van_Helsing | Monitorul de evaluare | Cod sursa (job #528075)
Cod sursa(job #528075)
#include<fstream>
#include<algorithm>
using namespace std;
long i,j,n,m,a[50002],b[50002],c[50002],poz,rez=1000000000;
int main()
{
ifstream f("secv.in");
ofstream g("secv.out");
f>>n;
for(i=1;i<=n;i++)
f>>a[i],b[i]=a[i];
sort(b,b+n);
m=2;
c[1]=b[1];
for(i=2;i<=n;i++)
if(b[i]!=b[i-1])
c[m++]=b[i];
for(i=n;i>=1;i--)
{
if(a[i]==c[m-1])
{
for(poz=i,j=m-2;j>=1;j--)
{
while(poz>=1&&a[poz]!=c[j])
poz--;
if(poz<=0)
break;
}
if(j==0&&rez>i-poz+1)
rez=i-poz+1;
}
}
if(rez==1000000000)
g<<-1;
else
g<<rez;
return 0;
}