Cod sursa(job #1737377)

Utilizator narcios_neculaNarcis Necula narcios_necula Data 3 august 2016 21:56:02
Problema Secv Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("secv.in");
ofstream g("secv.out");
int n,i,j,nr,k,mi,w[5001],v[5001],a[5001];
int main()
{
    f >> n;
    for(i = 1; i <= n; ++i)
        f >> v[i];
    for(i = 1; i <= n; ++i)
        a[i] = v[i];
    sort(a + 1, a + n + 1);
    nr = 1;
    w[1] = a[1];
    for(i = 2; i <= n; ++i)
    {
        if(a[i] != a[i - 1])
        {
            ++nr;
            w[nr] = a[i];
        }
    }
    mi = 10000;
    for(i = 1; i <= n; ++i)
    {
        if(v[i] == w[1])
        {
            k = 2;
            for(j = i + 1; j <= n; ++j)
            {
                if(v[j] == w[k])
                    ++k;
                if(k > nr)
                {
                    if(j - i + 1 < mi)
                        mi = j - i + 1;
                    break;
                }
            }
        }
    }
    if(mi > n)
        g << -1 << '\n';
    else
        g << mi << '\n';
    return 0;
}