Submission #1231814

#TimeUsernameProblemLanguageResultExecution timeMemory
1231814SolikhaTrampoline (info1cup20_trampoline)C++20
0 / 100
1303 ms1114112 KiB
#include "bits/stdc++.h" using namespace std; #define int long long #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define ss second #define ff first #define pb push_back void solve(){ int r, c, n; cin >> r >> c >> n; map<int, set<int>> xy; vector<int> comp; for(int i = 0; i < n; i++){ int a, b; cin >> a >> b; xy[a].insert(b); comp.pb(a); } sort(all(comp)); vector<set<int>> nw(n); for(int i = 0; i < n; i ++){ nw[i] = xy[comp[i]]; } auto ans = [&](int x, int y, int xx, int yy) -> bool{ if(x > xx || y > yy) return false; if(x == xx) return true; int a = lower_bound(all(comp), x) - comp.begin(); int b = lower_bound(all(comp), xx) - comp.begin(); if(comp[a] != x) return false; if(xx - x != b - a) return false; for(; a < b; a++){ if(nw[a].empty()) return false; auto it = nw[a].lower_bound(y); if(it == nw[a].end()) return false; if(*it > yy) return false; if(comp[a] >= xx) break; y = *it; } return true; }; int t; cin >> t; while(t--){ int x, y, xx, yy; cin >> x >> y >> xx >> yy; cout << (ans(x, y, xx, yy) ? "Yes" : "No") << endl; } } signed main() { cin.tie(nullptr)->sync_with_stdio(false); int t = 1; //cin >> t; while(t--){ solve(); cout << endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...