Cod sursa(job #1342445)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 14 februarie 2015 00:55:04
Problema Secv Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <algorithm>
#define nmax 5015
#define inf 1<<20
using namespace std;
ifstream f("secv.in");
ofstream g("secv.out");
int v[nmax],v1[nmax],n;
int a[nmax],m,k;
int sol=inf;

int main()
{
    int i,j;

    f>>n;
    for (i=1;i<=n;i++){
            f>>v[i];
            v1[i]=v[i];
    }
    sort(v1+1,v1+n+1);

    for (i=1;i<=n;i++)
        if (v1[i]!=v1[i-1])
            a[++m]=v1[i];
    if (m==1) sol=1;

    for (i=1;i<=n;i++)
        if (v[i]==a[1]) {
            k=1;
            for (j=i+1;j<=n;j++)
                if (v[j]==a[k+1]) {
                    k++;
                    if (k==m){
                        sol=min(sol,j-i+1);
                        break;
                    }
                }
        }
    if (sol!=inf)
        g<<sol;
    else
        g<<-1;
    return 0;
}