Cod sursa(job #2267035)

Utilizator Alex03Runcan Alexandru Alex03 Data 23 octombrie 2018 10:23:25
Problema Secv Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <bits/stdc++.h>	
using namespace std;	
ifstream fin("secv.in"); ofstream fout("secv.out");
int v[5001],v2[5001];

int main()	
{	
    int n,i,j=0,min1=6000,poz,k;	
    fin>>n;
    for(i=1; i<=n; i++) // reading part
    {
        fin>>v[i];
        v2[i]=v[i];
    }
    sort(v2+1,v2+n+1); // sorting the vector
    v2[0]=-1;
    for(i=1; i<=n; i++)
        if(v2[i]!=v2[i-1])
            v2[++j]=v2[i];
    if(j==1)
       fout<< 1;
    else
    {
        for(i=1; i<=n-j+1; i++)
            if(v[i]==v2[1])
            {
                poz=2;
                for(k=i+1; k<=n; k++)
                {
                    if(v[k]==v2[poz])
                    {
                        poz++;
                        if(poz==j+1)
                        {
                            min1=min(min1,k-i+1);
                            break;
                        }
                    }
                }
            }
        if(min1!=6000)
        fout<< min1;
        else
        fout<< -1;	
    }
    return 0;
}