社区讨论
(r-l+1)*(r+l)/2*(k/l)与(k/l)*(r-l+1)*(r+l)/2有不同吗?
P2261[CQOI2007] 余数求和参与者 6已保存回复 12
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 12 条
- 当前快照
- 1 份
- 快照标识符
- @mi7ynqs2
- 此快照首次捕获于
- 2025/11/21 05:46 4 个月前
- 此快照最后确认于
- 2025/11/21 06:44 4 个月前
rt
误:
CPP#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,k,ans;
int main()
{
scanf("%lld%lld",&n,&k);
ans=n*k;
for(int l=1,r;l<=n;l=r+1)
{
if(k/l!=0) r=min(k/(k/l),n);
else r=n;
/**/ ans-=(r-l+1)*(r+l)/2*(k/l);
}
printf("%lld\n",ans);
return 0;
}
正:
CPP#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,k,ans;
int main()
{
scanf("%lld%lld",&n,&k);
ans=n*k;
for(int l=1,r;l<=n;l=r+1)
{
if(k/l!=0) r=min(k/(k/l),n);
else r=n;
/**/ ans-=(k/l)*(r-l+1)*(r+l)/2;
}
printf("%lld\n",ans);
return 0;
}
回复
共 12 条回复,欢迎继续交流。
正在加载回复...