Cod sursa(job #1208646)

Utilizator mihaimusatMihai Musat mihaimusat Data 16 iulie 2014 12:01:16
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
#include<algorithm>
#define MAXN 5002

using namespace std;

int v[MAXN],a[MAXN],b[MAXN];
int n,i,j,mini=5010,aux,k=1;

int main()
{
    ifstream f("secv.in");
    ofstream g("secv.out");
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>v[i];
        a[i]=v[i];
    }
    sort(v+1,v+1+n);
    b[1]=v[1];
    for(i=2;i<=n;++i)
        if(v[i]!=v[i-1])
            b[++k]=v[i];

    for(i=1;i<=n;++i)
    {
        if(a[i]==b[1])
        {
            aux=0;
            for(j=i;j<=n;++j)
            {
                if(a[j]==b[aux+1])
                    ++aux;
                if(aux==k && j-i+1<=mini)
                    mini=j-i+1;
            }
        }
    }

    if(mini==5010)
        mini=-1;
    g<<mini;
    return 0;
}