#include<bits/stdc++.h> using namespace std; int a[110];//队号 int b[110];//每队总得分 int main(){ int n,i,x,c; cin>>n>>x; a[0] = x; for(i = 1;i < n;i++){ a[i] = ((a[i - 1] * 3703 + 1047) % n) + 1; } c = 0;//记录连续数字的次数 for(i = 0;i < n;i++){ c++; if(c <= 3){ b[a[i]] = b[a[i]] + c;//得分 }else{ b[a[i]] = b[a[i]] + 3;//得分 } //如果连续数字结束 if(i == n - 1 || a[i] != a[i + 1]){ c = 0; } } int max = 0; for(i = 0;i < 110;i++){ if(b[i] > max){ max = b[i]; } } cout<<max<<endl; return 0; } /************************************************************** Problem: 1559 User: admin Language: C++ Result: Accepted Time:72 ms Memory:2072 kb ****************************************************************/