結果
問題 | No.2394 部分和乗総和 |
ユーザー | batasanblog |
提出日時 | 2023-07-29 08:06:28 |
言語 | C++17 (gcc 12.3.0 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 184 ms / 2,000 ms |
コード長 | 1,515 bytes |
コンパイル時間 | 2,134 ms |
コンパイル使用メモリ | 200,964 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-07 11:37:51 |
合計ジャッジ時間 | 4,240 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
5,248 KB |
testcase_01 | AC | 2 ms
5,248 KB |
testcase_02 | AC | 2 ms
5,248 KB |
testcase_03 | AC | 2 ms
5,248 KB |
testcase_04 | AC | 2 ms
5,248 KB |
testcase_05 | AC | 2 ms
5,248 KB |
testcase_06 | AC | 2 ms
5,248 KB |
testcase_07 | AC | 2 ms
5,248 KB |
testcase_08 | AC | 3 ms
5,248 KB |
testcase_09 | AC | 2 ms
5,248 KB |
testcase_10 | AC | 2 ms
5,248 KB |
testcase_11 | AC | 2 ms
5,248 KB |
testcase_12 | AC | 2 ms
5,248 KB |
testcase_13 | AC | 19 ms
5,248 KB |
testcase_14 | AC | 65 ms
5,248 KB |
testcase_15 | AC | 69 ms
5,248 KB |
testcase_16 | AC | 99 ms
5,248 KB |
testcase_17 | AC | 183 ms
5,248 KB |
testcase_18 | AC | 183 ms
5,248 KB |
testcase_19 | AC | 184 ms
5,248 KB |
testcase_20 | AC | 177 ms
5,248 KB |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; using pl = pair<ll,ll>; using vl = vector<ll>; #define rep(i,n) for(ll i=0;i<(ll)(n);++i) #define reps(i,s,n) for(ll i=(s);i<(ll)(n);++i) #define rep1(i,n) for(ll i=1;i<=(ll)(n);++i) #define fi first #define se second #define pb push_back #define eb emplace_back #define be(v) (v).begin(),(v).end() const long long INF = 1e18; #ifdef DEBUG #include <debug.hpp> #endif // start ipow : integer power /** inline ll ipow(ll x,ll p){ ll ret=x; rep1(i,p-1) ret*=x; return ret; } **/ ll N,M,MOD; // mpow : mod power //const int MOD = 1000000007; ll mpow(ll x, ll n) { ll ret = 1; while (n > 0) { if (n & 1LL) ret = ret * x % MOD; x = x * x % MOD; n >>= 1; } return ret; } // mpow : mod power void input(){ cin>>N>>M>>MOD; } #ifdef DEBUG void showall(){ show(N,M,MOD); } #endif ll logic(){ M %= MOD; ll ans = 1; rep(n,N){ ll a;cin>>a; ans = (ans * (1LL + mpow(M,a))) % MOD; #ifdef DEBUG show("n ans M a mpow",n,ans,M,a,mpow(M,a)); #endif } return ans; } int main(){ #ifdef DEBUG ll x= 91510263775; ll y= 86467186908397382; MOD = 118411323; show("mpowbig",mpow(x,y)); #endif input(); #ifdef DEBUG //n ans M a mpow 0 -57613481 91510263775 86467186908397382 -57613482 showall(); cout << "--- Logic ---" << endl; #endif ll ans=logic(); cout<<ans<<endl; //if(logic())cout<<"Yes"<<endl; //else cout<<"No"<<endl; //while(input())logic(); return 0; } //cout << fixed << setprecision(9);