結果

問題 No.1510 Simple Integral
ユーザー pockynypockyny
提出日時 2021-05-14 23:00:57
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
RE  
実行時間 -
コード長 784 bytes
コンパイル時間 731 ms
コンパイル使用メモリ 66,992 KB
最終ジャッジ日時 2025-01-21 12:01:12
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 12 RE * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>

using namespace std;
typedef long long ll;
ll mod = 998244353;
ll pw(ll a,ll x){
    ll ret = 1;
    while(x){
        if(x&1) (ret *= a) %= mod;
        (a *= a) %= mod; x /= 2;
    }
    return ret;
}

ll a[110];
int main(){
    int i,j,n; cin >> n;
    for(i=0;i<n;i++) cin >> a[i];
    ll ans = 0;
    for(i=0;i<n;i++){
        bool f = true;
        for(j=0;j<n;j++){
            if(j!=i && a[i]==a[j]) f = false;
        }
        if(!f) exit(1);
        if(!f) continue;
        ll val = pw(a[i],mod - 2);
        for(j=0;j<n;j++){
            if(j==i) continue;
            ll y = a[j]*a[j]%mod - a[i]*a[i]%mod + mod;
            y %= mod;
            (val *= pw(y,mod - 2)) %= mod; 
        }
        (ans += val) %= mod;
    }
    cout << ans << endl;
}
0