Run ID | Author | Problem | Lang | Verdict | Score | Time | Memory | Code Length | Submit Time |
---|---|---|---|---|---|---|---|---|---|
37431 | A21μΘ_wjy | 【S】T2 | C++ | Accepted | 100 | 145 MS | 256 KB | 774 | 2025-03-30 15:40:21 |
#include<bits/stdc++.h> #define int long long using namespace std; inline int gcd(int A,int B){return !B?A:gcd(B,A%B);} inline int Calc(int n,int k){ int T=k/gcd(n,k); int Ans=0; for(int t=0;t<=T-1;t++){ int L=(n*t)/(k-1)+1; int R=n*(t+1)/k; if(L>R)continue; Ans+=((L*k-n*t)+(R*k-n*t))*(R-L+1)/2; }return Ans; } signed main(){ // freopen("b.in","r",stdin); // freopen("b.out","w",stdout); int T; cin>>T; while(T--){ int n,m; cin>>n>>m; int ret=1,Val=0; // for(int i=2;i<=min(n,m);i++)cout<<i<<" "<<Calc(n,i)<<endl; // cout<<endl; for(int i=2;i<=min(n,m);i++)if(Calc(n,i)>Val)Val=Calc(n,i),ret=i; cout<<ret<<endl; } }