View Code of Problem 3797

#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
#include <fstream>
#include <algorithm>
#include <ctime>
using namespace std;

typedef long long ll;
#define MAXN 200010
#define INF 0x3f3f3f3f
const int mod=1000000009;

int dp[MAXN];

int main(){
	int n;
	while(~scanf("%d", &n)){
		int len = 0, x;
 	    while(n--){
            scanf("%d", &x);
	        int i = 0;
	        for(; i < len; i++)
                if(dp[i] > x)
                    break;
                dp[i] = x;
                if(i == len)
                    len++;
	    }
	    printf("%d\n", len);
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 3797