Cod sursa(job #1593392)

Utilizator RaduToporanRadu Toporan RaduToporan Data 8 februarie 2016 16:28:56
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin("secv.in");
ofstream fout("secv.out");

int n,i,j,a[50055],k,v[50055],sol,best=0x3f3f3f3f;
bool avem[2000000001];

int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>a[i];
        if(!avem[a[i]]){
            ++k;
            v[k]=a[i];
            avem[a[i]]=true;
        }
    }
    sort(v+1,v+k+1);
    for(i=1;i<=n;i++){
        if(a[i]==v[1])
        {
            int indice=1;
            for(j=i+1;j<=n+1;j++)
            {
                if(indice==k){
                    sol=j-i;
                    if(sol<best)
                        best=sol;
                    break;
                }
                if(a[j]==v[indice+1])
                    indice++;
            }
        }
    }
    if(best==0x3f3f3f3f)
        fout<<-1;
    else fout<<best;
    return 0;
}