无端RE
查看原帖
无端RE
608410
封禁用户楼主2025/2/6 19:22

RT,开到3e5也没用

#include<bits/stdc++.h>

namespace IO {
	inline int read() {
		int ret = 0, f = 1;char ch = getchar();
		while (ch < '0' || ch > '9') {
			if (ch == '-') f = -f;
			ch = getchar();
		}
		while (ch >= '0' && ch <= '9') {
			ret = (ret << 1) + (ret << 3) + (ch ^ 48);
			ch = getchar();
		}
		return ret * f;
	}
	void write(int x) {
		if (x < 0) putchar('-'), x = -x;
		if (x > 9) write(x / 10);
		putchar(x % 10 + '0');
	}
}

using namespace IO;
using namespace std;

const int maxn = 270000 + 5;
const int maxnum = 100 + 5;

int n;
int dp[maxnum][maxn];

int main() {
	n = read();
	
	for (int i = 1;i <= n;i++) {
		int x = read();
		dp[x][i] = i + 1; 
	}
	
	int ans = 0;
	
	for (int num = 2;num <= maxnum;num++) {
		for (int j = 1;j <= n;j++) {
			if (!dp[num][j]) dp[num][j] = dp[num - 1][dp[num - 1][j]];
			if (dp[num][j]) ans = max(ans, num);
		}
	}
	
	write(ans), puts("");
	return 0;
}

2025/2/6 19:22
加载中...