#include #include #include void freeAll(int* a, int* b, int* c, int* d, int* e) { free(a); free(b); free(c); free(d); free(e); } int max(int a, int b) { return a>b ? a : b; } int maxInArr(int* arr, int N) { int maxNum = 0; for(int i=0; i arr[j]) dp[i] = max(dp[i], dp[j]+1); if(arrR[i] > arrR[j]) dpR[i] = max(dpR[i], dpR[j]+1); } } int* length = (int*)malloc(sizeof(int)*N); for(int i=0; i