Cod sursa(job #1666394)

Utilizator MihneaGhiraMihnea MihneaGhira Data 27 martie 2016 23:54:48
Problema Secv Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int n,i,t,ok,minim,c,j;
int v[5001],w[5001],g[5001];
int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>v[i];
        w[i]=v[i];
    }
    sort(w+1,w+n+1);
    for(i=1;i<=n;i++){
        if(w[i]!=w[i-1])
            g[++t]=w[i];
    }
    minim=2000000000;
    for(i=1;i<=n-t+1;i++){
        ok=0;
        c=1;
        for(j=i;j<=n;j++)
            if(v[j]==g[c]){
                c++;
                if(c>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;
}