제출 #523971

#제출 시각아이디문제언어결과실행 시간메모리
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;
}

컴파일 시 표준 에러 (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...