Cod sursa(job #1630316)

Utilizator lflorin29Florin Laiu lflorin29 Data 5 martie 2016 01:09:25
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <bits/stdc++.h>

using namespace std;

int N;
vector<int>a;

void Read()
{
    freopen("secv.in", "r", stdin);
    scanf("%d", &N); a = vector<int>(N);
    for(int i = 0; i < N; ++i)
        scanf("%d", &a[i]);
}

void Solve()
{
    vector<int>b = a;
    sort(b.begin(), b.end());
    b.resize( unique(b.begin(), b.end()) - b.begin());
    int res = 1e8;
    for(int i = 0; i < N; ++i)
    {
        int poz = 0;
        for(int j = i; j < N; ++j)
        {
            if(a[j] == b[poz]) poz += 1;

            if(poz == b.size())
            {
                res = min(res , j - i + 1);
                break;
            }
        }
    }

    freopen("secv.out", "w", stdout);
    if(res == (int)1e8) res = -1;
    printf("%d", res);
}

int main() {
    Read();
    Solve();
    return 0;
}