Cod sursa(job #1327743)

Utilizator VictoriaNevTascau Victoria VictoriaNev Data 27 ianuarie 2015 01:37:14
Problema Secv Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
long long maxim, i, v[5005], y[5005], ap[5005], m, l, lmin=5005, n, j;
int main()
{
    ifstream cin("secv.in");
    ofstream cout("secv.out");
    cin>>n;
    for(i=1; i<=n; i++)
        cin>>v[i], y[i]=v[i];
    sort(y+1,y+n+1);
    for(i=1; i<=n; i++)
        if(y[i]!=y[i-1])
            ap[++m]=y[i];
    for(i=1; i<=n; i++)
        if(v[i]==ap[1])
        {
            l=1;
            for(j=i+1; j<=n; j++)
            {
                if(v[j]==ap[l+1])
                    l++;
                if(m==l)
                    if(j-i+1<lmin)
                    {
                        lmin=j-i+1;
                        break;
                    }
            }
        }
    if(n==lmin)
        cout<<-1<<'\n';
    else if(m==1)
        cout<<1<<'\n';
    else
        cout<<lmin<<'\n';
    return 0;
}