Cod sursa(job #1226636)

Utilizator andrei_diaconuAndrei Diaconu andrei_diaconu Data 6 septembrie 2014 16:26:35
Problema Secv Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <algorithm>
#define NMax 5010
using namespace std;
ifstream f("secv.in");
ofstream g("secv.out");
int n, v[NMax], i, lmax=-1, ind, k, cont, j, ok, so[NMax], vc[NMax], nre;
int main()
{
    f>>n;
    for (i=1; i<=n; i++)
        f>>v[i];
    for (i=1; i<=n; i++) {
        vc[i]=v[i];
    }
    sort(vc+1, vc+n+1);
    so[1]=vc[1];
    j=1;
    for (i=2; i<=n; i++)
        if (vc[i]!=so[j])
            so[++j]=vc[i];
    nre=j;
    for (i=1; i<=n; i++) {
        cont=1;
        for (j=i; j<=n; j++) {
            if (v[j]==so[cont])
                cont++;
            if (cont==nre+1 && v[i]==so[1])
                if (lmax < j-i+1)
                    lmax=j-i+1;
        }
    }
    if (lmax!=-1)
        g<<lmax;
    else
        g<<-1;
    return 0;
}