Cod sursa(job #260837)
| Utilizator | Data | 17 februarie 2009 16:24:28 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include <stdio.h>
FILE *f =fopen ("scmax.in","r");
FILE *g =fopen ("scmax.our","w");
int n,v[100001],best[100001],max;
int main(){
//citire
fscanf(f,"%d",&n);
for (int i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
//programarea dinamica
for (int i=1;i<=n;i++){
max=1;
for (int j=1;j<=i-1;j++){
if (v[j]<v[i] && best[j]>max)
max=best[j];
}
best[i]=max+1;
}
fprintf(g,"%d",max);
}
