Pagini recente » Borderou de evaluare (job #1956621) | Cod sursa (job #352189) | Cod sursa (job #2900554) | Cod sursa (job #2900534) | Cod sursa (job #2900547)
#include <cstdio>
using namespace std;
FILE *fin, *fout;
int max(int a , int b)
{
return (a > b) ? a : b;
}
#define NMAX 100000
int v[NMAX + 5], sol[NMAX + 5];
int maxim;
int main()
{
fin = fopen("scmax.in", "r");
fout = fopen("scmax.out", "w");
int n;
fscanf(fin, "%d", &n);
int i;
for(i = 1; i <= n; i++)
fscanf(fin, "%d", &v[i]);
i = 1;
sol[i] = 1;
int j;
for(i = 2; i <= n; i++)
{
maxim = 0;
for(j = 1; j < i; j++)
if(v[j] < v[i])
maxim = max(maxim , sol[j]);
sol[i] = maxim + 1;
}
maxim = 0;
for(i = 1; i <= n; i++)
maxim = max(maxim , sol[i]);
fprintf(fout , "%d" , maxim);
fclose(fin);
fclose(fout);
return 0;
}