Cod sursa(job #1857678)

Utilizator ioana.jianuIoana Jianu ioana.jianu Data 26 ianuarie 2017 15:36:51
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.27 kb
#include <iostream>
#include <stdio.h>
using namespace std;
int v[10001],s[10001];
int main(){
    FILE *fin,*fout;
    fin=fopen("scamx.in","r");
    fout=fopen("scmax.out","w");
    int n,i,maxim,j;
    fscanf(fin,"%d",&n);
    for(i=1;i<=n;i++){
        fscanf(fin,"%d",&v[i]);
        maxim=0;
        for(j=1;j<i;j++)
            if(v[j]<v[i]&&s[j]>=maxim)
                maxim=s[j];
        s[i]=maxim+1;
    }
    maxim=0;
    for(i=1;i<=n;i++)
        if(s[i]>maxim)
            maxim=s[i];
    fprintf(fout,"%d",maxim);
    fclose(fin);
    fclose(fout);
    return 0;
}




/*#include <iostream>
#include <stdio.h>
using namespace std;
int a[101][101],s[101][101];
int main(){
    FILE *fin,*fout;
    fin=fopen("dinamica.in","r");
    fout=fopen("dinamica.out","w");
    int n,i,maxim,j;
    fscanf(fin,"%d",&n);
    for(i=1;i<=n;i++)
        for(j=1;j<=i;j++){
            fscanf(fin,"%d",&a[i][j]);
            if(s[i-1][j-1]>s[i-1][j])
                s[i][j]=s[i-1][j-1]+a[i][j];
            else
                s[i][j]=s[i-1][j]+a[i][j];
        }
    maxim=0;
    for(i=1;i<=n;i++)
        if(s[n][i]>maxim)
            maxim=s[n][i];
    fprintf(fout,"%d",maxim);

    fclose(fin);
    fclose(fout);
    return 0;
}*/