Cod sursa(job #2336561)

Utilizator LeVladzCiuperceanu Vlad LeVladz Data 5 februarie 2019 11:17:02
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <algorithm>
#define INF 2000000005

using namespace std;

ifstream fin("secv.in");
ofstream fout("secv.out");

int n,i,j,v[5005],w[5005],a[5005];

int main()
{
    fin >> n;
    for (i=1; i<=n; i++)
    {
        fin >> v[i];
        w[i] = v[i];
    }
    sort(w+1, w+n+1);
    a[1] = w[1]; int k = 1;
    for (i=2; i<=n; i++)
        if (w[i] != w[i-1])
            a[++k] = w[i];
    int minim = INF;
    for (i=1; i<=n-k+1; i++)
    {
        int ok = 0;
        int poz = 1;
        for (j=i; j<=n; j++)
            if (v[j] == a[poz])
            {
                poz++;
                if (poz > k)
                {
                    ok = 1;
                    break;
                }
            }
        if (ok == 1)
            minim = min(minim, j-i+1);
    }
    if (minim != INF)
        fout << minim;
    else
        fout << -1;
    return 0;
}