Cod sursa(job #2913432)

Utilizator francescom_481francesco martinut francescom_481 Data 14 iulie 2022 13:57:12
Problema Secv Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("secv.in");
ofstream fout("secv.out");
#define cin fin
#define cout fout

#define N 5005

int n, dif[N], v[N], x[N], pos, j;

int main() {

    cin >> n;
    for(int i = 1 ; i <= n ; i++)
    {
        cin >> v[i];
        x[i] = v[i];
    }
    sort(x+1,x+n+1);
    x[0] = -1;
    for(int i = 1 ; i <= n ; i++)
    {
        if(x[i] > x[i-1])
        {
            dif[++dif[0]] = x[i];
        }
    }
    int rez = n+1;
    for(int i = 1 ; i <= n ; i++)
    {
        if(v[i] == dif[1])
        {
            pos = 2;
            for(j = i+1 ; pos <= dif[0]  &&  j <= n ; j++)
            {
                if(v[j] == dif[pos])pos++;
            }
            if(pos > dif[0])rez = min(rez,j-i);
        }
    }
    cout << rez;
    return 0;
}