Submission #514645

#TimeUsernameProblemLanguageResultExecution timeMemory
514645Theo830Trampoline (info1cup20_trampoline)C++17
73 / 100
2078 ms31448 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll INF = 1e9+7; const ll MOD = 998244353; typedef pair<ll,ll> ii; #define iii pair<ii,ll> #define f(i,a,b) for(ll i = a;i < b;i++) #define pb push_back #define vll vector<ll> #define F first #define S second #define all(x) (x).begin(), (x).end() ///I hope I will get uprating and don't make mistakes ///I will never stop programming ///sqrt(-1) Love C++ ///Please don't hack me ///@TheofanisOrfanou Theo830 ///Think different approaches (bs,dp,greedy,graphs,shortest paths,mst) ///Stay Calm ///Look for special cases ///Beware of overflow and array bounds ///Think the problem backwards ///Training int main(void){ ios_base::sync_with_stdio(0); cin.tie(0); ll r,c; cin>>r>>c; map<ll,ll>mp; set<ll>ex; ll n; cin>>n; ll a[n],b[n]; f(i,0,n){ cin>>a[i]>>b[i]; ex.insert(a[i]); } ll pos = 0; for(auto x:ex){ mp[x] = pos; pos++; } set<ll> exo[(ll)ex.size() + 5]; f(i,0,n){ exo[mp[a[i]]].insert(b[i]); } ll t; cin>>t; while(t--){ ll xa,ya,xb,yb; cin>>xa>>ya>>xb>>yb; bool ok = 1; if(xa > xb || ya > yb){ ok = 0; } while(xa != xb){ if(!ex.count(xa)){ ok = 0; break; } auto it = exo[mp[xa]].lower_bound(ya); if(it != exo[mp[xa]].end() && (*it) <= yb){ xa++; ya = (*it); } else{ ok = 0; break; } } if(ok){ cout<<"Yes\n"; } else{ cout<<"No\n"; } } }
#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...