結果
問題 | No.2394 部分和乗総和 |
ユーザー |
|
提出日時 | 2023-07-28 22:40:46 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 139 ms / 2,000 ms |
コード長 | 786 bytes |
コンパイル時間 | 963 ms |
コンパイル使用メモリ | 98,228 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-06 20:11:42 |
合計ジャッジ時間 | 2,581 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#include<iostream> #include<algorithm> #include<unordered_map> #include<queue> #include<vector> #include<cstring> #include<cstdio> #include<set> #include<ctime> #include<random> #include<string> #define dbg(x) cerr<<__LINE__<<':'<<#x<<" = "<<x<<'\n'; using namespace std; typedef long long ll; typedef long double ld; ll n,m,mod; ll a[100098]; ll ans=1; ll pw(ll a,ll b){ a=(a-1)%mod+1; ll c=1; while(b){ if(b&1)c=c*a%mod; a=a*a%mod; b>>=1; } return c; } int main(){ #ifdef ABUKA freopen("abuka.in","r",stdin); freopen("abuka.out","w",stdout); #endif ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>m>>mod; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ ans=ans*(1+pw(m,a[i]))%mod; } cout<<ans; return 0; }