Cod sursa(job #1941501)

Utilizator mateibanuBanu Matei Costin mateibanu Data 27 martie 2017 12:50:44
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>

using namespace std;

FILE*f=fopen("scmax.in","r");
FILE*g=fopen("scmax.out","w");

int v[100010],p[100010];

struct pct{
    int p,x;
}a[100010];

int cmp(pct a,pct b){
    return a.x<b.x;
}

int main()
{
    int n,i;
    fscanf(f,"%d",&n);
    for (i=1;i<=n;i++) {fscanf(f,"%d",&v[i]);a[i].x=v[i];a[i].p=i;}
    sort(a+1,a+n+1,cmp);
    for (i=1;i<=n;i++) p[a[i].p]=i;
    l[n]=1;mx=n;
    for (i=n-1;i>=1;i--){
        nx[i]=cauta(p[i]+1,n,a[p[i]].x);
        l[i]=l[nx[i]]+1;
        if (l[i]>l[mx]) mx=i;
    }
    i=mx;
    while (nx[i]!=n+1){

    }
    fclose(f);
    fclose(g);
    return 0;
}