Cod sursa(job #1173525)

Utilizator nimicLeoveanu Mihaita Alexandru nimic Data 19 aprilie 2014 21:30:27
Problema Secv Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("secv.in");
ofstream out("secv.out");

const int maxim = 10000000, lmax = 5001;
long long lungime=maxim, n, m;
long long v[lmax], aux[lmax], sol[lmax];

int main()
{
	int player_unu=0, i, j, ii;

    in>>n;
	for(i = 1; i<=n; i++)
     {
        in>>v[i];
        aux[i]=v[i];
     }

     sort(aux+1, aux+n+1);

     aux[0]=-1;

     for (i = 1; i<=n; i++)
		if (aux[i]!=aux[i-1])
			sol[++m] = aux[i];

     for (ii=1; ii<=n; ii++)
     {
          i = ii;
          j = 1;

          while (i<=n)
          {
                if (v[i]==sol[j])
                 j++;

                if (j==m+1)
                 {
                     lungime=lungime<i-ii+1?lungime:i-ii+1;
                     break;
                 }
                i++;
          }
      }

   if (lungime!=maxim)
    out<<lungime;
   else
    out<<-1;

   return player_unu;
}