2 条题解
-
0
判断最左边的右端点和最右边的左端点 如果小于,则不相交
#include <iostream> #include <vector> #include <set> using namespace std; #define int long long const int mod=1e+7; signed main() { iostream::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; multiset<int> l, r; for (int i = 1; i <= n; i++) { char c; cin >> c; int x, y; cin >> x >> y; if (c == '+') { l.insert(x); r.insert(y); } else { l.erase(l.find(x)); r.erase(r.find(y)); } if (l.size() > 1 && (*r.begin() < *l.rbegin())) { cout << "YES" << endl; } else { cout << "NO" << endl; } } return 0; }
信息
- ID
- 593
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 21
- 已通过
- 7
- 上传者