好心人求调一下(RE),悬关
查看原帖
好心人求调一下(RE),悬关
1062661
Lu_Yu_hao楼主2024/4/10 19:09
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<climits>
#include<iomanip>
#include<vector>
#include<queue>
#include<map>
int dp1[1000], dp2[1000], a[1000], idx = 0, ans = 0, cnt = 0;
int max(int x, int y) {
	return x > y ? x : y;
}
int main() {
	while(scanf("%d", &a[idx]) != EOF) {
		idx ++;
	}
	for(int i = 0; i < idx; i ++) {
		dp1[i] = dp2[i] = 1;
		for(int j = 0; j < i; j ++) {
			if(a[i] <= a[j]) {
				dp1[i] = max(dp1[i], dp1[j]+1);
			} else {
				dp2[i] = max(dp2[i], dp2[j]+1);
			}
		}
		if(ans < dp1[i]) {
			ans = dp1[i];
		}
		if(cnt < dp2[i]) {
			cnt = dp2[i];
		}
	}
	printf("%d\n%d\n", ans, cnt);
	return 0;
}
2024/4/10 19:09
加载中...