Cod sursa(job #3265182)

Utilizator Carnu_EmilianCarnu Emilian Carnu_Emilian Data 27 decembrie 2024 20:05:57
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fcin("secv.in");
ofstream fcout("secv.out");

const int N = 5e3 + 5;
int v[N], n, lmin = N, maxx;
map<int, int> m;

int main()
{
    fcin >> n;
    for (int i = 1; i <= n; i++)
    {
        fcin >> v[i];
        m[v[i]] = 1;
    }
    int x = 0;
    for (auto &p : m)
        p.second = ++x;
    maxx = x;
    for (int i = 1; i <= n; i++)
        v[i] = m[v[i]];
    for (int i = 1; i <= n; i++)
    {
        if (v[i] == 1)
        {
            int l = INT_MAX;
            x = 1;
            for (int j = i; j <= n; j++)
            {
                if (v[j] == x)
                    x++;
                if (x == maxx + 1)
                {
                    l = j - i + 1;
                    break;
                }
            }
            lmin = min(lmin, l);
        }
    }
    lmin = (lmin == N) ? -1 : lmin;
    fcout << lmin;

    return 0;
}