Cod sursa(job #3145544)

Utilizator Mihai_OctMihai Octavian Mihai_Oct Data 16 august 2023 11:05:58
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("secv.in");
ofstream fout("secv.out");
int n, a[5002], c[5002];
int i, j, k = 1, p, r;

int main() {
    fin >> n;
    for(i = 1; i <= n; i++) fin >> a[i];
    for(i = 1; i <= n; i++) c[i] = a[i];
    sort(c + 1, c + n + 1);
    for(i = 2; i <= n; i++) {
        if(c[i] > c[k]) c[++k] = c[i];
    }
    if(k == 1) fout<< "1";
    else {
        r = n + 1;
        for(i = 1; i <= n; i++) {
            if(a[i] != c[1]) continue;
            p = 2;
            for(j = i + 1; j <= n; j++) {
                if(a[j] == c[p]) p++;
                if(p == k+1) break;
            }
            if(p == k + 1) r = min(r, j - i + 1);
        }
        if(r == n + 1) fout << "-1";
        else fout << r;
    }

    return 0;
}