Cod sursa(job #843332)

Utilizator enedumitruene dumitru enedumitru Data 27 decembrie 2012 20:12:10
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
#include<set>
using namespace std;
ifstream f("secv.in"); ofstream g("secv.out");
const int inf=(1<<30), Nmax=5002;
int n, i, j, k, p, rez=inf, v[Nmax], nr[Nmax];
set <int> s;
int main ()
{   f>>n;
    for(i=1; i<=n; ++i) f>>v[i], s.insert(v[i]);
    while(!s.empty())
        {nr[++k]=*(s.begin()); s.erase(s.begin());}
    for(i=n; i; --i)
    {   for(p=1,j=i; j<=n && p<=k; ++j)
        if(v[j]==nr[p]) ++p;
        if(p==k+1)
        rez=min(j-i,rez);
    }
    if(rez==inf) rez=-1;
    g<<rez; g.close(); return 0;
}