結果
問題 |
No.2062 Sum of Subset mod 999630629
|
ユーザー |
|
提出日時 | 2022-08-26 22:46:12 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 928 bytes |
コンパイル時間 | 1,309 ms |
コンパイル使用メモリ | 166,584 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-13 23:23:28 |
合計ジャッジ時間 | 3,037 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 5 WA * 24 |
ソースコード
// #include <cmath> // #include <cstdio> // #include <vector> // #include <iostream> // #include <queue> // #include <map> // #include <unordered_map> // #include <algorithm> #include <bits/stdc++.h> #define MAX_SIZE 100005 #define ull unsigned long long #define MOD1 999630629 #define MOD2 998244353 using namespace std; int N, C; int A[MAX_SIZE]; ull pow1(ull x,ull a){ if(a == 0) return 1; ull y = pow1(x,a/2)%MOD1; y = (y*y)%MOD1; if(a%2){ return (y*x)%MOD1; } return y%MOD1; } void solve(){ ull mult = pow(2,N-1); ull ans = 0; for(int i =0;i<N;i++){ ans = (ans + (A[i]*mult)%MOD1)%MOD1; // cout << A[i] << "," << ans << " "; } // cout << endl; cout << ans%MOD2 << endl; } int main() { cin >> N; for(int i = 0;i<N;i++){ cin >> A[i]; } solve(); // cout << pow1(2,100000) << endl; return 0; }