Cod sursa(job #367760)

Utilizator cristiprgPrigoana Cristian cristiprg Data 23 noiembrie 2009 14:12:19
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include <cstdio>
#define DIM 100005
int n, v[DIM], p[DIM], q[DIM], L;

void citire()
{
    FILE *f = fopen("scmax.in", "r");
    fscanf(f, "%d", &n);
    for (int i = 1; i <= n; ++i)
        fscanf(f, "%d", &v[i]);

    fclose(f);
}

int caut(int z[], int x, int st, int dr)
{

    if (dr <= st)
    {
        printf ("st = %d dr = %d\n");
        if (dr == st && z[st] == x)
            return st;

        return -1;
    }

    int m = st + (dr - st)/2;

    if (z[m] <= x)
        return caut(z, x, st, m);
    else
        return caut(z, x, m + 1, dr);
}

void solve()
{
    for (int i = 1, poz; i <= n; ++i)
    {
        poz = caut(v, v[i], 1, L);

        if (poz != -1)
            q[poz] = v[i], p[i] = poz;
        else
            q[++L] = v[i], p[i] = L;
    }
}

int main()
{
    citire();
 //   solve();

    printf ("L = %d", caut(v, 5, 1, n));
    return 0;
}