結果
問題 |
No.678 2Dシューティングゲームの必殺ビーム
|
ユーザー |
![]() |
提出日時 | 2018-04-27 22:40:14 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,112 bytes |
コンパイル時間 | 770 ms |
コンパイル使用メモリ | 81,800 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-27 22:00:03 |
合計ジャッジ時間 | 2,197 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 11 RE * 7 |
ソースコード
#include <iostream> #include <vector> #include <string> #include <algorithm> #include <cstdio> #include <cstring> #include <cmath> using namespace std; using ll = long long; struct P { bool operator<(const P& p) const { return y > p.y; } int y, l, r, i, ans; }; int main() { int n, l0, r0; cin >> n >> l0 >> r0; r0++; //1280,1680 vector<P> p(n); for (int i = 0; i < n; i++) { int l, u, r, d; cin >> l >> u >> r >> d; r++; p[i].i = i; p[i].y = d; p[i].l = l; p[i].r = r; } sort(p.begin(), p.end()); vector<int> a(1280); for (int i = l0; i < r0; i++) { a[i] = 1; } for (int i = 0; i < n; i++) { int l = max(p[i].l, 0), r = min(p[i].r, 1680); int s = 0; for (int i = l; i < r; i++) { if (a[i]) s = 1; a[i] = 0; } p[i].ans = s; } vector<int> b(n); for (int i = 0; i < n; i++) { b[p[i].i] = p[i].ans; } for (int i = 0; i < n; i++) { cout << b[i] << endl; } return 0; }