Cod sursa(job #2162031)

Utilizator rares_ciocieaRares Andrei Ciociea rares_ciociea Data 11 martie 2018 23:18:23
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("secv.in");
ofstream out("secv.out");
int v[5004],nrdis[5004];

int main()
{
    int n,i,d=0,cnt=0,min=500000,p=0,j;
    in>>n;
    for(i=1;i<=n;i++)
        {in>>v[i];
        nrdis[i]=v[i];
        }
    sort(nrdis+1,nrdis+n+1);
    nrdis[0]=-4324;
    for(i=1;i<=n;i++)
        if(nrdis[i]!=nrdis[i-1])
        {
            d++;
            nrdis[d]=nrdis[i];
        }

    if(d==1)
    {
        out<<1;
        return 0;
    }
    for(i=1;i<=n-d+1;i++)
    {
        if(nrdis[1]==v[i])
            {
                cnt=2;
                for(j=i+1;j<=n;j++)
                {
                    if(v[j]==nrdis[cnt])
                        cnt++;
                    if(cnt==d+1)
                    {
                        if(min>j-i+1)
                            min=j-i+1;
                        break;
                    }
                }
            }
    }
    if(min==500000)
        out<<-1;
    else
    out<<min;

    return 0;
}