結果
問題 | No.673 カブトムシ |
ユーザー |
![]() |
提出日時 | 2019-05-02 14:29:36 |
言語 | C (gcc 13.3.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 836 bytes |
コンパイル時間 | 808 ms |
コンパイル使用メモリ | 29,440 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-01 23:21:51 |
合計ジャッジ時間 | 1,679 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 12 WA * 2 |
ソースコード
// yukicoder: No.673 カブトムシ// 2019.5.2 bal4u#include <stdio.h>#define M 1000000007long long extended_gcd(long long a, long long b, long long *x, long long *y){long long d;if (b == 0) { *x = 1; *y = 0; return a; }d = extended_gcd(b, a % b, y, x);*y -= a / b * (*x);return d;}int inverse(long long a){long long x, y;extended_gcd(a, (long long)M, &x, &y);return (int)((x + M) % M);}int bigPow(long long x, long long p){long long r = 1;while (p) {if (p & 1) r = r * x % M;x = x * x % M;p >>= 1;}return (int)r;}int main(){long long B, C, D, ans;scanf("%lld%lld%lld", &B, &C, &D);if (C == 1) ans = (B % M) * (D % M);else {ans = ((B % M) * (C % M)) % M;ans = (ans * ((M+bigPow(C % M, D)-1) % M)) % M * inverse(C-1);}printf("%d\n", ans % M);return 0;}