B3877求调(悬关)
  • 板块学术版
  • 楼主Pollococido
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/10/28 17:11
  • 上次更新2024/10/28 19:50:21
查看原帖
B3877求调(悬关)
919410
Pollococido楼主2024/10/28 17:11

here

代码

#include <bits/stdc++.h>
using namespace std;
long long n, k, l, s = 1, ans = -0x3f3f3f3f;
long long x[1000010];
long long sc[1000010];

int main() {
	cin >> n >> k;
	x[1] = k;
	for (int i = 2; i <= n; i++) {
		x[i] = ((1ll * x[i - 1] * 3703 + 1047) % n) + 1;
		//cout << x[i] << " ";
	}
	//cout << endl;
	l = x[1];
	sc[1]++;
	for (int i = 2; i <= n; i++) {
		if (x[i] == l) {
			s = min(3ll, s + 1);
			sc[x[i]] += s;
		}else {
			s = 1;
			sc[x[i]] += s;
		}
		l = x[i];
	}
	for (int i = 1; i <= n; i++) {
		if (sc[i] > ans) {
			ans = sc[i];
		}
	}
	cout << ans;
	return 0;
}

9090 pts,WA on #1。

2024/10/28 17:11
加载中...