Cod sursa(job #2650196)

Utilizator Razvan48Capatina Razvan Nicolae Razvan48 Data 17 septembrie 2020 18:11:03
Problema Secv Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <algorithm>

using namespace std;

const int NMAX = 5000;

int v[1 + NMAX];
int c[1 + NMAX];

int main()
{
  ifstream in("secv.in");
  ofstream out("secv.out");
  int minim = NMAX;
  int n;

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

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

  int lsir = 1;
  for (int i = 2; i <= n; i++)
  {
    if (c[i] != c[i - 1])
    {
      lsir++;
      c[lsir] = c[i];
    }
  }

  for (int i = 1; i <= n; i++)
  {
    if (v[i] == c[1])
    {
      int st = i;
      int dr = i;
      int index = 1;

      for (int j = i + 1; j <= n && index < lsir; j++)
      {
        if (v[j] == c[index + 1])
        {
          index++;
          dr = j;
        }
      }

      if (index == lsir)
      {
        minim = min(minim, dr - st + 1);
      }
    }
  }

  out << minim;

  return 0;
}