【bzoj1257】[CQOI2007]余数之和sum

来源:互联网 发布:复制淘宝店铺首页装修 编辑:程序博客网 时间:2024/06/05 23:49

正解太神辣,打表可以发现是求好多个等差数列,但是从那个结论写的话,起码要5、60行,然而从先求出 nk,然后一步一步减,代码就3行!!

Kmodi

=KKii

=nKK/ii

#include<iostream>#include<cstring>#include<cstdio>using namespace std;#define LL long longLL n,k,ans;int main(){    scanf("%lld%lld",&n,&k);    ans=n*k;    if (n>k) n=k;    LL j=0;    for(int i=1;i<=n;i=j+1){        j=min(n,k/(k/i));        ans-=(k/i)*(j-i+1)*(i+j)/2;    }    printf("%lld\n",ans);}
0 0
原创粉丝点击