Cod sursa(job #878188)

Utilizator SchullerClaudiuSchuller Claudiu SchullerClaudiu Data 14 februarie 2013 09:04:36
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<fstream>
#include<algorithm>
#define dim 5007
using namespace std;


ifstream f("secv.in");
ofstream g("secv.out");

long   a[dim],w[dim],v[dim];
int n,i,j,k,Min;
int main () {


    f>>n;
    Min=5002;
    for(i=1;i<=n;++i){
        f>>v[i];
        a[i]=v[i];
    }

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

    i=2;
    w[1]=a[1];
    k=1;
    while(i<=n) {

        if(a[i]!=a[i-1]){
            ++k;
            w[k]=a[i];
        }
        ++i;
    }

    for(i=1;i<=n;++i){

        if(v[i]==w[1]){
            int cnt=0;

            for( j=i ; j<=n ; ++j ) {

                if(v[j]==w[cnt+1])
                    cnt++;
                if(cnt==k)
                    if(j-i+1<=Min){
                        Min=j-i+1;

                    }
            }
        }

    }
    if(Min==5002){
        g<<-1;
        return 0;
    }
    g<<Min<<"\n";
    return 0;
}