結果
問題 |
No.1578 A × B × C
|
ユーザー |
|
提出日時 | 2021-09-12 12:19:39 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 501 bytes |
コンパイル時間 | 1,665 ms |
コンパイル使用メモリ | 165,960 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-24 00:32:15 |
合計ジャッジ時間 | 2,659 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
#include<bits/stdc++.h> using namespace std; long long int modpow(long long int a,long long int n,long long int mod){ long long int res = 1; while(n>0){ if(n&1) res = res*a%mod; a = a*a%mod; n >>= 1; } return res; } int main(){ long long int A,B,C,K,MOD=1000000007; cin >> A >> B >> C >> K; A %= MOD; B %= MOD; C %= MOD; long long int ans = A*B; ans %= MOD; ans *= C; ans %= MOD; ans = modpow(ans,modpow(2,K,MOD-1),MOD); ans %= MOD; cout << ans << endl; }