結果
問題 | No.1252 数字根D |
ユーザー |
👑 ![]() |
提出日時 | 2020-08-17 19:05:20 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 770 bytes |
コンパイル時間 | 520 ms |
コンパイル使用メモリ | 63,872 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-07 14:20:35 |
合計ジャッジ時間 | 1,256 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 2 WA * 12 |
ソースコード
#include<iostream>using namespace std;using ll = long long;ll g(ll N, ll D, ll mod) {ll ans = 0;ll Q, R;if (N == 0) {return 0;}if (N % (D - 1) == 0) {Q = N / (D - 1);R = 0;}else {Q = N / (D - 1) + 1;R = D - 1 - N % (D - 1);}ll E, F, G, H;E = ((D * (D - 1)) / 2) % mod;E = (Q * E) % mod;F = (D * R) % mod;F = mod - F;G = ((R * (R + 1)) / 2) % mod;H = (E + F + G) % mod;return H;}ll max(ll a, ll b) {if (a >= b) {return a;}else {return b;}}int main() {ll T;ll D, A, B;ll P, Q;ll Mod = 1000000007;cin >> T;for (int i = 0; i < T; i++) {cin >> D >> A >> B;P = g(B, D, Mod);Q = g(max(A - 1, 0), D, Mod);Q = Mod - Q;cout << (P + Q) % Mod << endl;}return 0;}