bzoj1257: [CQOI2007]余数之和sum

    xiaoxiao2021-04-01  32

    传送门 首先 imodj=iint(ij)j 然后答案就是 i2j=1int(ij)j 发现我们可以按照j分块。 然后愉快的水过了。

    var n,k,r,i,t,ans:int64; begin read(n,k); if n>k then begin ans:=(n-k)*k; n:=k; end; r:=0; i:=1; while i<=n do begin t:=k div i; r:=k div t; if (r>=n) then r:=n; ans:=ans+(r-i+1)*k-(r-i+1)*(i+r) div 2*t; i:=r+1; end; write(ans); end.
    转载请注明原文地址: https://ju.6miu.com/read-665657.html

    最新回复(0)