Cod sursa(job #2375348)

Utilizator iandavidroIan David Bocioaca iandavidro Data 8 martie 2019 08:00:52
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <algorithm>
#define INF 2000000005
using namespace std;
ifstream f("secv.in");
ofstream g("secv.out");
int n,i,j,v[5005],w[5005],a[5005];
int main()
{
    f >> n;
    for (i=1; i<=n; i++)
    {
        f >> 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)
        g << minim;
    else
        g << -1;
    return 0;
}