Cod sursa(job #1138183)

Utilizator tudorv96Tudor Varan tudorv96 Data 9 martie 2014 18:05:25
Problema Secv Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;

ifstream fin ("secv.in");
ofstream fout ("secv.out");

map <int, bool> M;

const int N = 5005;

vector <int> subs;
int v[N], n, sol = 2e9;

int main() {
    fin >> n;
    for (int i = 0; i < n; ++i) {
        fin >> v[i];
        M[v[i]] = 1;
    }
    for (map <int, bool> :: iterator it = M.begin(); it != M.end(); ++it)
        subs.push_back (it->first);
    sort (subs.begin(), subs.end());
    for (int i = 0; i < n; ++i)
        if (v[i] == subs[0]) {
            int k = 1, j = i + 1;
            for (; k < subs.size() && j < n; ++j)
                if (subs[k] == v[j])
                    k++;
            if (k == subs.size())
                sol = min(sol, j - i);
        }
    fout << sol;
}