整除分块wa50分求助
查看原帖
整除分块wa50分求助
289304
HAuCl4楼主2022/10/24 22:34
//P2261
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll solve2(ll n,ll k)
{
	ll ret=0;
	for(ll L=1,R;L<=n;L=R+1)
	{
		if(k<L) R=n;
		else R=k/(k/L);
//		printf("L=%d R=%d\n",L,R);
		ret+=(k/L)*(R*(R+1)-L*(L-1))/2;
//		printf("ret=%lld\n",ret);
	}
	return ret;
}
int main()
{
	ll n,k;
	cin>>n>>k;
	cout<<k*n-solve2(n,k);
	return 0;
}

2022/10/24 22:34
加载中...