T137233 魔術增幅
設答案為$g$,那么肯定有$g\mid M$。
再設$M=\sum\limits_{i=1}^N a_i=g\times \sum\limits_{i=1}^N t_i$。
因為$t_i$都是正整數,所以$\sum\limits_{i=1}^n t_i \ge N$,所以$\dfrac{M}{g}\ge N$,也即$g\le \dfrac{M}{N}$。
于是答案就是在$[1,\dfrac{M}{N}]$中,能整除$M$的最大值。
從大到小枚舉即可。
代碼:
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #define IL inline #define RG register using namespace std; #define RI RG int int n,m; int main(){ scanf("%d%d",&n,&m); for(RI i=m/n;i>=1;i--) if(m%i==0){ printf("%d",i); break; } return 0; }

浙公網安備 33010602011771號