結果
問題 | No.678 2Dシューティングゲームの必殺ビーム |
ユーザー | merom686 |
提出日時 | 2018-04-27 23:27:55 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,096 bytes |
コンパイル時間 | 805 ms |
コンパイル使用メモリ | 81,360 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-27 22:20:13 |
合計ジャッジ時間 | 1,511 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 |
ソースコード
#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++; 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(1281); 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, 1281); 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; }