1 solutions

  • 0
    @ 2025-12-3 16:38:14

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    long long m;
    int g,n,t,a[300005];
    int main()
    {
    	cin>>g;
    	while(g--)
    	{
    		cin>>n>>m>>t;
    		fill(a,a+300004,0);
    		int ans=0;
    		for(long long i=0;i<n;i++)
    			a[i]=1+(i*i)%m;
    //		for(int i=0;i<n;i++)
    //			cout<<a[i]<<" ";
    		sort(a,a+n);
    		for(int i=0;i<n;i++)
    		{
    			int j=i;
    			while(a[j]==a[j+1]) j++;
    			int tmp=j-i+1+min(t,n-j-1);
    			ans=max(ans,tmp);
    			i=j;
    		}
    		cout<<ans<<endl;
    	}
        return 0;
    }
    
    • 1

    Information

    ID
    898
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By