結果
問題 |
No.3070 Collecting Coins Speedrun 2
|
ユーザー |
|
提出日時 | 2025-03-21 23:10:57 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,094 bytes |
コンパイル時間 | 3,513 ms |
コンパイル使用メモリ | 279,188 KB |
実行使用メモリ | 7,328 KB |
最終ジャッジ日時 | 2025-03-21 23:11:02 |
合計ジャッジ時間 | 5,131 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 32 |
ソースコード
#include <bits/stdc++.h> using namespace std; long long mod = 998244353; long long power(long long a, long long b, long long m) { long long r = 1; for (long long i = 0; i < b; i++) { r *= a; r %= m; } return r; } int main() { long long n; cin >> n; vector<long long> c(n); bool flag = false; for (long long i = 0; i < n; i++) { cin >> c[i]; if (c[i] == 0) { flag = true; } } sort(c.begin(), c.end()); long long ans = 0; cout << ans << endl; long long l = 0; long long r = n - 1; long long mid = 0; if (c[0] >= 0) { cout << power(2, n - 1, mod) << endl; } else if (c[n - 1] <= 0) { cout << power(2, n - 1, mod) << endl; } else { long long ans = power(2, n - 3, mod); if (flag) { ans *= 3; ans %= mod; } else { ans *= 2; ans %= mod; } ans *= 2; ans %= mod; cout << ans << endl; } }