Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Diferente pentru blog/conferinta-mihai-patrascu intre reviziile 9 si 8 | Monitorul de evaluare | Cod sursa (job #528082)
Cod sursa(job #528082)
#include<fstream>
#include<algorithm>
using namespace std;
long i,j,n,m,a[50002],b[50002],c[50002],poz,rez=1000000000,aux;
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];
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(b[i]>b[j])
{
aux=b[i];
b[i]=b[j];
b[j]=aux;
}
//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;
}