Cod sursa(job #2891948)

Utilizator 100pCiornei Stefan 100p Data 20 aprilie 2022 10:57:12
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <bits/stdc++.h>
#define ull unsigned long long
#define FILES freopen("secv.in","r",stdin);\
              freopen("secv.out","w",stdout);
#define CMAX 15485863
#define fastio std::ios_base::sync_with_stdio(NULL),cin.tie(NULL),cout.tie(NULL);
#define mp make_pair
#define INF 1e18
#define mod 666013
#define ll long long
#define SMAX 300
#define MAX 1000000
#define pb push_back
#define add emplace_back
#define void inline void
#define int ll

using namespace std;
int n,v[MAX+5];
signed main()
{
    fastio
    FILES
    int best = 1e9;
    cin >> n;
    set<int>s;
    for(int i = 1;i <= n; ++i)
        cin >> v[i],s.insert(v[i]);
    vector<int>rz;
    for(auto i : s) rz.add(i);
    for(int i = 1;i <= n; ++i)
    {
        int nd = 0, cnt = 0;
        for(int j = i; j <= n; ++j)
        {
            if(v[j] == rz[nd])
                nd++;
            cnt++;
            if(nd == rz.size()) break;
        }
        if(nd == rz.size()) best = min(best,cnt);
    }
    cout << (best == 1e9 ? -1 : best);
}