100pts求助
查看原帖
100pts求助
1078710
Diego_Song楼主2024/8/7 13:26

一半AC, 一半TLE

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

const int MAXN = 1e6 + 514;
int a[MAXN], f[MAXN], cnt;

int main(){
	int x;
	while(cin >> x){
		a[cnt++] = x;
	}
	f[0] = 1;
	int as = 1;
	for(int i = 1; i < cnt; i++){
		f[i] = 1;
		for(int j = 0; j < i; j++){
			if(a[j] >= a[i]){
				f[i] = max(f[i], f[j] + 1);
			}
		}
	}
	for(int i = 0; i < cnt; i++){
		as = max(as, f[i]);
	}
	cout << as << endl;
	as = 1;
	for(int i = 1; i < cnt; i++){
		f[i] = 1;
		for(int j = 0; j < i; j++){
			if(a[j] < a[i]){
				f[i] = max(f[i], f[j] + 1);
			}
		}
	}
	for(int i = 0; i < cnt; i++){
		as = max(as, f[i]);
	}
	cout << as << endl;
	return 0;
}
2024/8/7 13:26
加载中...