4 条题解

  • 0
    @ 2026-4-11 15:54:00

    #include<bits/stdc++.h> using namespace std; int a[300010]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin>>t; while(t--) { int n,m,k,s=1,maxn=-1; cin>>n>>m>>k; if(m==1) { cout<<n<<'\n'; continue; } for(int i=1;i<=n;i++) { long long j=i-1; a[i]=(j*j%m)+1; } sort(a+1,a+n+1); a[n+1]=-1; for(int i=2;i<=n+1;i++) if(a[i]==a[i-1])s++; else { maxn=max(maxn,s+min(k,n-i+1)); s=1; } cout<<maxn<<'\n'; } return 0; }

    • 0
      @ 2025-7-23 13:15:09

      #include<bits/stdc++.h> using namespace std; int a[300010]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin>>t; while(t--) { int n,m,k,s=1,maxn=-1; cin>>n>>m>>k; if(m==1) { cout<<n<<'\n'; continue; } for(int i=1;i<=n;i++) { long long j=i-1; a[i]=(j*j%m)+1; } sort(a+1,a+n+1); a[n+1]=-1; for(int i=2;i<=n+1;i++) if(a[i]==a[i-1])s++; else { maxn=max(maxn,s+min(k,n-i+1)); s=1; } cout<<maxn<<'\n'; } return 0; }

      • 0
        @ 2023-10-14 21:05:33

        #include<bits/stdc++.h> using namespace std; int a[300010]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin>>t; while(t--) { int n,m,k,s=1,maxn=-1; cin>>n>>m>>k; if(m==1) { cout<<n<<'\n'; continue; } for(int i=1;i<=n;i++) { long long j=i-1; a[i]=(j*j%m)+1; } sort(a+1,a+n+1); a[n+1]=-1; for(int i=2;i<=n+1;i++) if(a[i]==a[i-1])s++; else { maxn=max(maxn,s+min(k,n-i+1)); s=1; } cout<<maxn<<'\n'; } return 0; }

        • 0
          @ 2023-8-19 9:54:26
          #include<bits/stdc++.h>
          using namespace std;
          int a[300010];
          int main()
          {
          	ios::sync_with_stdio(0);
          	cin.tie(0);
          	cout.tie(0);
          	int t;
          	cin>>t;
          	while(t--)
          	{
          		int n,m,k,s=1,maxn=-1;
          		cin>>n>>m>>k;
          		if(m==1)
          		{
          			cout<<n<<'\n';
          			continue;
          		}
          		for(int i=1;i<=n;i++)
          		{
          			long long j=i-1;
          			a[i]=(j*j%m)+1;
          		}
          		sort(a+1,a+n+1);
          		a[n+1]=-1;
          		for(int i=2;i<=n+1;i++)
          			if(a[i]==a[i-1])s++;
          			else
          			{
          				maxn=max(maxn,s+min(k,n-i+1));
          				s=1;
          			}
          		cout<<maxn<<'\n';
          	}
          	return 0;
          }
          
          • 1

          信息

          ID
          155
          时间
          1000ms
          内存
          256MiB
          难度
          6
          标签
          递交数
          97
          已通过
          32
          上传者