結果
問題 | No.190 Dry Wet Moist |
ユーザー |
![]() |
提出日時 | 2015-08-19 22:21:02 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 77 ms / 2,000 ms |
コード長 | 777 bytes |
コンパイル時間 | 1,595 ms |
コンパイル使用メモリ | 168,540 KB |
実行使用メモリ | 6,400 KB |
最終ジャッジ日時 | 2024-07-18 10:36:26 |
合計ジャッジ時間 | 3,629 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 28 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> a(2 * n); for (int& i : a) cin >> i; sort(a.begin(), a.end()); deque<int> b(a.begin(), a.end()), c = b, d = b; int dry = 0, wet = 0, moist = 0; while (b.size() > 1u) { if (b.front() + b.back() < 0) { ++dry; b.pop_front(); } b.pop_back(); } while (c.size() > 1u) { if (c.front() + c.back() > 0) { ++wet; c.pop_back(); } c.pop_front(); } while (d.size() > 1u) { if (d.front() + d.back() == 0) { ++moist; d.pop_front(); d.pop_back(); } else if (d.front() + d.back() < 0) { d.pop_front(); } else { d.pop_back(); } } cout << dry << " " << wet << " " << moist << endl; }