結果
問題 | No.2709 1975 Powers |
ユーザー |
![]() |
提出日時 | 2024-11-01 20:39:40 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 754 ms / 2,000 ms |
コード長 | 1,654 bytes |
コンパイル時間 | 6,942 ms |
コンパイル使用メモリ | 338,792 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-01 20:40:01 |
合計ジャッジ時間 | 14,974 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 25 |
ソースコード
#include <bits/stdc++.h>#include <atcoder/all>using namespace std;using namespace atcoder;using ll = long long;using mint = modint998244353;const ll INF=9e18;ll ruijo(ll kazu, ll jo, ll P){bitset<24>bit(jo);ll goukei=1;ll ima=kazu;for (ll a = 0; a < 24; a++){if(bit.test(a)){goukei*=ima;goukei%=P;}ima*=ima;ima%=P;}return goukei;}int main() {ll N,P,Q;cin>>N>>P>>Q;vector<ll> A (N);for (ll a = 0; a < N; a++){cin>>A[a];}sort(A.begin(),A.end());vector<ll> ten (N);vector<ll> nine (N);vector<ll> seven (N);vector<ll> five (N);for (ll a = 0; a < N; a++){ten[a]=ruijo(10,A[a],P);}for (ll a = 0; a < N; a++){nine[a]=ruijo(9,A[a],P);}for (ll a = 0; a < N; a++){seven[a]=ruijo(7,A[a],P);}for (ll a = 0; a < N; a++){five[a]=ruijo(5,A[a],P);}ll kotae=0;for (ll a = 0; a < N-3; a++){for (ll b = a+1; b < N-2; b++){for (ll c = b+1; c < N-1; c++){for (ll d = c+1; d < N; d++){//cout<<A[a]<<A[b]<<A[c]<<A[d]<<endl;ll nya=ten[a];//cout<<nya<<endl;nya%=P;nya+=nine[b];nya%=P;nya+=seven[c];nya%=P;nya+=five[d];nya%=P;if(nya==Q){kotae++;}}}}}cout<<kotae;}