結果

問題 No.1510 Simple Integral
ユーザー Re_menal2
提出日時 2021-05-14 22:23:16
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 768 bytes
コンパイル時間 1,701 ms
コンパイル使用メモリ 168,596 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-02 01:57:31
合計ジャッジ時間 2,986 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 2
other AC * 1 WA * 42
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

const int MM = 998244353;

long modpow(long a, long b, long mod) {
    if (b == 0) {
          return 1;
    }
    if ((b & 1) == 0) {
      return modpow((a * a) % mod, b >> 1, mod);
    }
    return (a * modpow(a, b - 1, mod)) % mod;
}

long long modinv(long long a, long long m) {
    long long b = m, u = 1, v = 0;
    while (b) {
        long long t = a / b;
        a -= t * b; swap(a, b);
        u -= t * v; swap(u, v);
    }
    u %= m;
    if (u < 0) u += m;
    return u;
}

int main() {
  int N; cin >> N;
  vector<long> A(N+1); for(int i=0;i<N;i++) cin >> A[i];

  long long ans=0;
  for (int i=0; i<N; i++) {
    long long mmod = modinv(A[i], MM);
    ans = (ans + mmod) % MM;
  }

  cout << ans << endl;
}
0