Cod sursa(job #1334564)

Utilizator nnnmmmcioltan alex nnnmmm Data 4 februarie 2015 14:42:48
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int v[5010];
int n,i,j,k,sol=-1;
int main()
{
 freopen("secv.in","r",stdin);
 freopen("secv.out","w",stdout);
 scanf("%d",&n);
 int a[n],b[n];
 for(i=0;i<n;i++)
     {
      scanf("%d",&a[i]);
      b[i]=a[i];
     }
 sort(a,a+n);
 v[++v[0]]=a[0];
 for(i=1;i<n;i++)
     if(a[i]!=a[i-1])
        v[++v[0]]=a[i];
 for(i=0;i<n;i++)
     {
      if(b[i]==v[1])
         {
          k=2;
          for(j=i+1;j<n;j++)
              {
               if(b[j]==v[k] && b[j]!=b[i])
                  k++;
               if(k==v[0]+1)
                  break;
              }
          if(k==v[0]+1 && sol==-1)
             sol=j-i+1;
          else
             if(k==v[0]+1 && j-i<sol)
                sol=j-i+1;
          if(i==0)
             sol--;
         }
     }
 printf("%d",sol);
return 0;
}