Cod sursa(job #2204982)

Utilizator alexutzualex alex alexutzu Data 17 mai 2018 15:05:55
Problema Subsir crescator maximal Scor 35
Compilator c Status done
Runda Arhiva educationala Marime 0.85 kb
#include <stdio.h>
#include <stdlib.h>
#define NMAX 1000*100
int main()
{
    int v[NMAX];
    int n;
    int i,j;
    FILE *f = fopen("scmax.in","r");
    fscanf(f,"%d",&n);
    for(i=0; i<n; i++)
        fscanf(f,"%d",&v[i]);
    int dp[NMAX];
    int dp1[NMAX];
    dp[0]=1;
    for(i=1; i<=n; i++)
    {
        int ii=-1;
        int valmax=0;
        for(j=i-1; j>=0; j--)
        {
            if(dp[j]>valmax&&v[j]<v[i])
            {
                valmax=dp[j];
                ii=j;
            }
        }
        if(ii==-1)
            dp[i]=1;
        else
        {
            dp[i]=valmax+1;
            dp1[i]=ii;
        }
    }
    int valmax=0;
    for(i=0; i<=n; i++)
        if(valmax<dp[i])
            valmax=dp[i];
    fclose(f);
    f=fopen("scmax.out","w");
    fprintf(f,"%d",valmax);
    return 0;
}