Cod sursa(job #31113)

Utilizator Bogdan-BBesliu Bogdan Bogdan-B Data 15 martie 2007 15:38:10
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream.h>
ifstream f("secv.in");
ofstream g("secv.out");
long n,m,v[5000],t[5000],c[5000],rez=1000000000;
int main()
{
long i,j,k,x;
f>>n;
for(i=0;i<n;i++) { f>>v[i]; t[i]=v[i]; }
for(i=0;i<n;i++)
 for(j=i+1;j<n;j++)
  if(t[i]>t[j]) x=t[i],t[i]=t[j],t[j]=x;
c[0]=t[0];
m=1;
for(i=1;i<n;i++)
  if(t[i]!=t[i-1]) c[m++]=t[i];
for(i=n-1;i>=0;i--) {
  if(v[i]==c[m-1]) {
    for(k=i,j=m-2;j>=0;j--)
      { while(k>=0 && v[k]!=c[j])  k--;
	if(k<0) break; }
      if(j==-1 && rez>i-k+1) rez=i-k+1;
     }}
   if(rez==1000000000) cout<<-1; else cout<<rez;
   return 0;
    }