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;
}
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;
}
90 pts,WA on #1。