結果
問題 |
No.3041 非対称じゃんけん
|
ユーザー |
![]() |
提出日時 | 2025-02-28 23:50:33 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2,186 ms / 2,200 ms |
コード長 | 654 bytes |
コンパイル時間 | 3,502 ms |
コンパイル使用メモリ | 277,792 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2025-02-28 23:50:55 |
合計ジャッジ時間 | 19,223 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 30 |
ソースコード
#include <bits/stdc++.h> const int MAX = 909090; int N, F; int A[15151], B[15151], C[15151]; std::bitset<MAX> dp[2]; int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::cin >> N >> F; for (int i = 0; i < N; i++) { std::cin >> A[i]; } for (int i = 0; i < N; i++) { std::cin >> B[i]; } for (int i = 0; i < N; i++) { std::cin >> C[i]; } int now = 0; dp[0] = 1; for (int i = 0; i < N; i++) { int nxt = 1 - now; dp[nxt] = 0; dp[nxt] |= (dp[now] << A[i]); dp[nxt] |= (dp[now] << B[i]); dp[nxt] |= (dp[now] << C[i]); now = nxt; std::cout << dp[now].count() << '\n'; } }