200分TLE求解
查看原帖
200分TLE求解
644394
dongrq_cs楼主2023/5/2 21:46
#include <bits/stdc++.h>
using namespace std;
#define N 1000005
int a[N],b[N],dp[N],x,y,maxn,maxx;
int main(){
    while(cin >> x){
    	a[++y] = x;
	}
    for(int i = 1;i <= y;i++){
        int jk = 1;
        while(jk <= maxx && b[jk] >= a[i]){
			jk++;
    	}
		if(jk > maxx){
			b[++maxx] = a[i];
		}else{
			b[jk] = a[i];
		}
    }
    cout << maxx << endl;
    maxx = 0;
    for(int i = 1;i <= y;i++){
        int jk = 1;
        while(jk <= maxx && b[jk] < a[i]){
			jk++;
		}
        if(jk > maxx){
        	b[++maxx] = a[i];
		}else{
			b[jk] = a[i];
		}
    }
    cout << maxx << endl;
}
2023/5/2 21:46
加载中...