結果

問題 No.2709 1975 Powers
ユーザー Nafmo2
提出日時 2024-01-22 19:11:26
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
TLE  
実行時間 -
コード長 842 bytes
コンパイル時間 1,946 ms
コンパイル使用メモリ 197,412 KB
最終ジャッジ日時 2025-02-18 22:08:40
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other TLE * 1 -- * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
int ans = 0;
int N, P, Q;
long long mpow(long long x, long long n) {
  long long res = 1;
  while (n > 0) {
    if (n & 1) res = res * x % P;
    x = x * x % P;
    n >>= 1;
  }
  return res;
}
int main() {
  cin >> N >> P >> Q;
  vector<int> A(N, 0);
  for (int i = 0; i < N; i++) {
    cin >> A[i];
  }
  sort(A.begin(), A.end());
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
      for (int k = 0; k < N; k++) {
        for (int l = 0; l < N; l++) {
          int res = 0;
          res = (res + mpow(10, A[i])) % P;
          res = (res + mpow(9, A[j])) % P;
          res = (res + mpow(7, A[k])) % P;
          res = (res + mpow(5, A[l])) % P;
          if (res == Q && i<j&&j<k&&k<l) {
            ans++;
          }
        }
      }
    }
  }
  cout << ans << endl;
}
0