Submission #523971

#TimeUsernameProblemLanguageResultExecution timeMemory
523971lucriTrampoline (info1cup20_trampoline)C++17
11 / 100
2049 ms5652 KiB
#include <iostream> #include <fstream> #include <algorithm> using namespace std; int n,m,k,q,link[200010]; pair<int,int>tr[200010]; int xb,yb,xe,ye; int cb(int b,int e) { if(b>e) return b; int m=(b+e)/2; if(tr[m].first<xb||tr[m].first==xb&&tr[m].second<yb) return cb(m+1,e); return cb(b,m-1); } ifstream in("test.in"); ofstream out("test.out"); int main() { ios_base::sync_with_stdio(NULL); cin.tie(0); cout.tie(0); cin>>n>>m>>k; for(int i=1;i<=k;++i) cin>>tr[i].first>>tr[i].second; sort(tr+1,tr+k+1); tr[k+1]={1111111111,1111111111}; for(int i=1;i<=k;++i) { xb=tr[i].first+1; yb=tr[i].second; link[i]=cb(i+1,k); if(tr[link[i]].first>tr[i].first+1) link[i]=k+1; } cin>>q; while(q--) { cin>>xb>>yb>>xe>>ye; int poz=cb(1,k); int l=xb,c=yb; if(l<tr[poz].first) poz=k+1; while(l<xe) { l=tr[poz].first+1; c=tr[poz].second; poz=link[poz]; } if(c<=ye) cout<<"Yes"<<'\n'; else cout<<"No"<<'\n'; } return 0; }

Compilation message (stderr)

trampoline.cpp: In function 'int cb(int, int)':
trampoline.cpp:13:39: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   13 |     if(tr[m].first<xb||tr[m].first==xb&&tr[m].second<yb)
      |                        ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
#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...