結果
問題 | No.110 しましまピラミッド |
ユーザー |
![]() |
提出日時 | 2016-09-10 05:04:02 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 911 bytes |
コンパイル時間 | 766 ms |
コンパイル使用メモリ | 66,116 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-12-31 11:23:43 |
合計ジャッジ時間 | 1,782 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 26 |
ソースコード
#include <iostream> #include <vector> #include <algorithm> using namespace std; long long DP[1000001]; int main() { int nw; cin >> nw; vector<int>W(nw); for (int i = 0; i < nw; i++)cin >> W[i]; sort(W.begin(), W.end()); int nb; cin >> nb; vector<int>B(nb); for (int i = 0; i < nb; i++)cin >> B[i]; sort(B.begin(), B.end()); bool BW; BW = true; int cntW=1; for (int i = W.back() -1; i > 0; i--) { if (BW) { if (find(B.begin(), B.end(), i)!=B.end()) { BW = !BW; cntW++; } } else { if (find(W.begin(), W.end(), i)!=W.end()) { BW = !BW; cntW++; } } } BW = false; int cntB=1; for (int i = B.back() - 1; i > 0; i--) { if (BW) { if (find(B.begin(), B.end(), i) != B.end()) { BW = !BW; cntB++; } } else { if (find(W.begin(), W.end(), i) != W.end()) { BW = !BW; cntB++; } } } cout << max(cntW,cntB) << endl; return 0; }