Submission #523953

# Submission time Handle Problem Language Result Execution time Memory
523953 2022-02-08T13:09:03 Z lucri Trampoline (info1cup20_trampoline) C++17
73 / 100
2000 ms 8428 KB
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int n,m,k,q;
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()
{
    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};
    cin>>q;
    while(q--)
    {
        cin>>xb>>yb>>xe>>ye;
        int poz=cb(1,k);
        int l=xb,c=yb;
        while(l!=xe)
        {
            if(tr[poz].first==l)
            {
                ++l;
                c=tr[poz].second;
            }
            else
            {
                c=1111111111;
                break;
            }
            if(l==xe||c>ye)
                break;
            while(tr[poz].first<l||tr[poz].first==l&&tr[poz].second<c)
                ++poz;
        }
        if(c<=ye)
            cout<<"Yes"<<'\n';
        else
            cout<<"No"<<'\n';
    }
    return 0;
}

Compilation message

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)
      |                        ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
trampoline.cpp: In function 'int main()':
trampoline.cpp:46:52: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   46 |             while(tr[poz].first<l||tr[poz].first==l&&tr[poz].second<c)
      |                                    ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 332 KB 200 token(s): yes count is 21, no count is 179
2 Correct 9 ms 332 KB 200 token(s): yes count is 70, no count is 130
3 Correct 7 ms 320 KB 197 token(s): yes count is 25, no count is 172
# Verdict Execution time Memory Grader output
1 Correct 145 ms 1868 KB 4000 token(s): yes count is 99, no count is 3901
2 Correct 144 ms 1732 KB 4000 token(s): yes count is 91, no count is 3909
3 Correct 660 ms 1840 KB 4000 token(s): yes count is 4000, no count is 0
4 Correct 327 ms 1860 KB 4000 token(s): yes count is 1991, no count is 2009
# Verdict Execution time Memory Grader output
1 Correct 778 ms 2564 KB 200000 token(s): yes count is 110486, no count is 89514
2 Correct 794 ms 8384 KB 200000 token(s): yes count is 114664, no count is 85336
3 Correct 743 ms 8296 KB 200000 token(s): yes count is 86232, no count is 113768
4 Correct 779 ms 8428 KB 200000 token(s): yes count is 94603, no count is 105397
5 Correct 733 ms 8368 KB 200000 token(s): yes count is 94148, no count is 105852
6 Correct 765 ms 8364 KB 200000 token(s): yes count is 97163, no count is 102837
# Verdict Execution time Memory Grader output
1 Correct 20 ms 332 KB 5000 token(s): yes count is 3238, no count is 1762
2 Correct 31 ms 328 KB 5000 token(s): yes count is 3837, no count is 1163
3 Correct 18 ms 336 KB 5000 token(s): yes count is 4104, no count is 896
4 Correct 23 ms 332 KB 5000 token(s): yes count is 3934, no count is 1066
5 Correct 35 ms 356 KB 5000 token(s): yes count is 3384, no count is 1616
6 Correct 24 ms 356 KB 5000 token(s): yes count is 3390, no count is 1610
# Verdict Execution time Memory Grader output
1 Execution timed out 2081 ms 1860 KB Time limit exceeded
2 Halted 0 ms 0 KB -