結果
問題 |
No.2709 1975 Powers
|
ユーザー |
|
提出日時 | 2024-03-31 13:47:15 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 773 bytes |
コンパイル時間 | 3,287 ms |
コンパイル使用メモリ | 231,856 KB |
実行使用メモリ | 68,096 KB |
最終ジャッジ日時 | 2024-09-30 18:24:03 |
合計ジャッジ時間 | 7,633 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 9 WA * 16 |
ソースコード
#include<bits/stdc++.h> using namespace std; #include <atcoder/all> using mint = atcoder::modint998244353; #define int long long signed main() { int n,p,q; cin >> n >> p >> q; int m = 2e6+1; vector<int> a(m,1), b(m,1), c(m,1), d(m,1); for(int i = 0; i < m-1; i++) { a[i+1] = a[i]*10%p; b[i+1] = b[i]*9%p; c[i+1] = c[i]*7%p; d[i+1] = d[i]*5%p; } vector<int> e(n,0); vector<vector<int>> f(p); for(int i = 0; i < n; i++) { cin >> e[i]; f[d[e[i]]].push_back(i); } int ans = 0; for(int i = 0; i < n; i++) for(int j = i+1; j < n; j++) for(int k = j+1; k < n; k++) { int z = (a[e[i]]+b[e[j]]+c[e[k]])%p; z = (q-z+p)%p; int g = f[z].end()-upper_bound(f[z].begin(),f[z].end(),k); ans+=g; } cout << ans << endl; }