Cod sursa(job #651556)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 20 decembrie 2011 20:06:51
Problema Secv Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#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;
}