提交时间:2025-03-30 16:17:22

运行 ID: 37438

#include<bits/stdc++.h> using namespace std; int T; unsigned long long n,m,ans,maxn; int main(){ cin>>T; while(T--){ maxn=0; ans=1; cin>>n>>m; for(int i=2;i<=m;i++){ unsigned long long cnt=0; for(int j=0;j<i;j++){ unsigned long long x=(n*j+1)/(i-1),y=(n*j+n+1)/i; if(x*(i-1)<(n*j+1)){ x=x+1; } if(y*i<(n*j+n+1)){ y=y+1; } if(y>n){ y=n; } cnt=cnt+(x+y-1)*(y-1-x+1)/2; //cout<<x<<" "<<y<<endl; } if(cnt>maxn){ maxn=cnt; ans=i; } } cout<<ans<<endl; } return 0; }