#include <bits/stdc++.h>
#define int long long
#define float double
#define pb push_back
#define F first
#define S second
#define T int t; cin >> t; while(t--)
#define IOS ios::sync_with_stdio(); cin.tie(0); cout.tie(0);
using namespace std;
const int inf = 8e18;
const int N = 1e6 + 6;
const int M = 1e3 + 3;
const int mod = 1e9 + 7;
const float pi = atan(1) * 4;
int r, c, n;
map<int, set<int>> tramps;
main()
{
cin >> r >> c >> n;
for(int i = 0; i < n; i++)
{
int y, x;
cin >> y >> x;
tramps[y].insert(x);
}
T
{
int x1, x2, y1, y2;
cin >> y1 >> x1 >> y2 >> x2;
int last = y1;
for(auto x: tramps)
{
if (x.F < y1)
continue;
if (x.F - last > 1)
{
y1 = -1;
break;
}
if (y1 == y2)
break;
if (!tramps.count(y1))
break;
if (tramps[y1].end() == tramps[y1].lower_bound(x1))
break;
x1 = *tramps[y1].lower_bound(x1);
y1 = x.F + 1;
last = x.F;
if (x1 > x2)
{
y1 = -1;
break;
}
}
if (y1 == y2)
cout << "Yes\n";
else
cout << "No\n";
}
}
/*
4 5 2
2 2
3 4
3
2 1 4 5
1 2 1 4
2 3 4 4
*/
Compilation message
trampoline.cpp:20:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
20 | main()
| ^~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
36 ms |
716 KB |
200 token(s): yes count is 21, no count is 179 |
2 |
Correct |
42 ms |
712 KB |
200 token(s): yes count is 70, no count is 130 |
3 |
Correct |
24 ms |
588 KB |
197 token(s): yes count is 25, no count is 172 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
2062 ms |
9932 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
2082 ms |
14916 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
558 ms |
552 KB |
expected YES, found NO [5th token] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
2089 ms |
17192 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |