Cod sursa(job #344734)

Utilizator silvia_the_bestSilvia Pripoae silvia_the_best Data 31 august 2009 14:53:05
Problema Secv Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <cstdio>
#include <algorithm>

using namespace std;

#define FIN "secv.in"
#define FOUT "secv.out"

#define N 5005
#define INF 2000000001

int n, v[N], s1[N], s[N], lmin = INF;

void read()
{
    int i;

    freopen(FIN,"r", stdin);
    freopen(FOUT, "w", stdout);

    scanf("%d", &n);

    for (i = 1; i <= n; ++i)
        scanf("%d", &v[i]), s1[i] = v[i];
}

void solve()
{
    int i, j, l, b, e, k;

    sort(s1 + 1, s1 + n + 1);

    for (i = 1, l = 0; i <= n; ++i)
        if (s1[i] != s1[i - 1])
            s[++l] = s1[i];

    for (i = 1; i <= n; ++i)
        if (v[i] == s[1])
        {
            for (k = i + 1, j = 2, b = e = i; k <= n, j <= l; ++ k)
            {
                if (v[k] == s[j])
                    ++j;
                ++e;
            }
            lmin = min(lmin, e - b + 1);
        }

    lmin = min(lmin, e - b + 1);
}

int main()
{
    read();

    solve();

    printf("%d\n", lmin);
}