# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
426954 | 2021-06-14T11:09:18 Z | jamezzz | Trampoline (info1cup20_trampoline) | C++17 | 378 ms | 20444 KB |
#include <bits/stdc++.h> using namespace std; #define sf scanf #define pf printf #define fi first #define se second #define pb emplace_back #define sz(x) (int)x.size() #define all(x) x.begin(),x.end() typedef pair<int,int> ii; int r,c,n,t,a,b,xa,xb,ya,yb,nx[200005][20]; vector<ii> v,v1,v2; int main(){ sf("%d%d%d",&r,&c,&n); for(int i=0;i<n;++i){ sf("%d%d",&a,&b); v.pb(a,b); } sort(all(v));int pv=-1; for(int i=0;i<n;++i)nx[i][0]=-1; for(int i=0;i<n;++i){ v2.pb(v[i].se,i); if(i==n-1||v[i].fi!=v[i+1].fi){ if(v[i].fi==pv+1){ int cur=0; for(int j=0;j<sz(v2);++j){ while(cur<sz(v1)&&v1[cur].fi<v2[j].fi)++cur; if(cur!=0)nx[v1[cur-1].se][0]=v2[j].se; } } v1.clear(); swap(v1,v2); pv=v[i].fi; } } /* for(int i=0;i<n;++i){ pf("%d %d: %d\n",v[i].fi,v[i].se,nx[i][0]); } //*/ for(int k=1;k<20;++k){ for(int i=0;i<n;++i){ if(nx[i][k-1]!=-1)nx[i][k]=nx[nx[i][k-1]][k-1]; else nx[i][k]=-1; } } sf("%d",&t); for(int i=0;i<t;++i){ sf("%d%d%d%d",&xa,&ya,&xb,&yb); if(xb<xa||yb<ya){ pf("No\n");continue; } if(xa==xb){ pf("Yes\n");continue; } int x=lower_bound(all(v),ii(xa,ya))-v.begin(); if(x==sz(v)||v[x].fi!=xa){ pf("No\n");continue; } int cur=x; for(int k=19;k>=0;--k){ if(nx[cur][k]!=-1&&v[nx[cur][k]].fi<=xb-1)cur=nx[cur][k]; } if(v[cur].fi<xb-1||v[cur].se>yb)pf("No\n"); else pf("Yes\n"); } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 1100 KB | expected YES, found NO [1st token] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 108 ms | 17612 KB | expected YES, found NO [3rd token] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 281 ms | 20444 KB | 200000 token(s): yes count is 110486, no count is 89514 |
2 | Correct | 277 ms | 19760 KB | 200000 token(s): yes count is 114664, no count is 85336 |
3 | Correct | 286 ms | 18460 KB | 200000 token(s): yes count is 86232, no count is 113768 |
4 | Correct | 295 ms | 18236 KB | 200000 token(s): yes count is 94603, no count is 105397 |
5 | Correct | 317 ms | 18224 KB | 200000 token(s): yes count is 94148, no count is 105852 |
6 | Correct | 304 ms | 18220 KB | 200000 token(s): yes count is 97163, no count is 102837 |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 8 ms | 716 KB | expected YES, found NO [1st token] |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 378 ms | 18224 KB | expected YES, found NO [1st token] |
2 | Halted | 0 ms | 0 KB | - |