Cod sursa(job #1129211)

Utilizator klamathixMihai Calancea klamathix Data 27 februarie 2014 20:46:04
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <vector>
#include <fstream>
#include <algorithm>
using namespace std;

int main() {
    
    #ifdef INFOARENA
    ifstream cin("secv.in");
    ofstream cout("secv.out");
    #endif

    int n; cin >> n;
    vector<int> a(n, 0), b(n, 0);
    for(int i = 0; i < n; ++i)
        cin >> a[i];
    b = a;
    
    sort(b.begin(), b.end());
    b = vector<int> (b.begin(), unique(b.begin(), b.end()));

    int unice = b.size();
    int ans = 1e5;

    for(int i = 0; i < n; ++i) {
        int j = i;
        int ind = 0;
        while(j < n) {
            while(j < n && a[j] != b[ind])
                ++j;    
            if(j < n)
                ++ind;
            if(ind == unice) {
                ans = min(ans, j - i + 1);
                break;
            }
        }
    }
    
    if(ans == 1e5)
        ans = -1;
    cout << ans << "\n";
}