萌新求助 80
  • 板块P5174 圆点
  • 楼主狛枝风斗
  • 当前回复10
  • 已保存回复10
  • 发布时间2021/1/13 16:55
  • 上次更新2023/11/5 04:52:25
查看原帖
萌新求助 80
357851
狛枝风斗楼主2021/1/13 16:55

把该取模的地方都取模了,不知道哪里炸了 /kk

Code:

#include <bits/stdc++.h>

using namespace std;

unsigned long long ans;
unsigned long long Mod;

int main () {
	Mod = 1e9 + 7;
	unsigned long long r;
	scanf("%llu", &r);
	for (unsigned long long i = 0; i * i <= r; i++) {
		unsigned long long I = i % Mod;
		unsigned long long row = sqrt(r - I * I);
		row %= Mod;
		unsigned long long ans1 = row * (row + 1) * (2 * row + 1) / 6;
		ans1 %= Mod;
		unsigned long long ans2 = I * I;
		ans2 %= Mod;
		ans2 *= row;
		ans2 %= Mod;
		ans += (ans1 + ans2);
		ans %= Mod;
	}
	printf("%llu", ans * 4 % Mod);
	return 0;
}
2021/1/13 16:55
加载中...