Cod sursa(job #1741098)

Utilizator mariusn01Marius Nicoli mariusn01 Data 12 august 2016 23:07:08
Problema Secv Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
// brut, o(n^2)
#include <fstream>
#include <algorithm>

#define DIM 5010

using namespace std;

int v[DIM], w[DIM];
int i, n, j, k, nxt, sol;

int main () {
    ifstream fin ("secv.in");
    ofstream fout("secv.out");
    fin>>n;
    for (int i=1;i<=n;i++) {
        fin>>v[i];
        w[i] = v[i];
    }
    sort(w+1, w+n+1);
    k = 1; sol = n+1;
    for (int i=2;i<=n;i++)
        if (w[i] != w[k])
            w[++k] = w[i];

    for (int i=1;i<=n-k+1;i++)
        if (v[i] == w[1]) {
            nxt = 2;
            for (j=i+1;j<=n;j++)
                if (v[j] == w[nxt]) {
                    nxt ++;
                    if (nxt == k+1)
                        sol = min(sol, j-i+1);
                }
        }
    if (sol != n+1)
        fout<<sol;
    else
        fout<<-1;
    return 0;
}