Cod sursa(job #1669784)

Utilizator MihneaGhiraMihnea MihneaGhira Data 31 martie 2016 01:04:33
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int n,i,dr,st,j,t,minim,k,ok;
int v[5001],w[5001];
int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>v[i];
        w[i]=v[i];
    }
    w[0]=2000000000;
    sort(w+1,w+n+1);
    t=1;
    for(i=2;i<=n;i++)
        if(w[i]!=w[i-1])
            w[++t]=w[i];
    minim=2000000000;
    for(i=1;i<=n-t+1;i++){
        k=1;
        ok=0;
        for(j=i;j<=n;j++){
            if(v[j]==w[k]){
                k++;
                if(k>t){
                    ok=1;
                    break;
                }
            }
        }
        if(ok==1){
            if(minim>j-i+1){
                minim=j-i+1;
            }
        }
    }
    if(minim==2000000000)
        fout<<-1;
    else
        fout<<minim;
    return 0;
}