# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
675194 | 2022-12-27T02:45:35 Z | vjudge1 | Trampoline (info1cup20_trampoline) | C++17 | 770 ms | 46604 KB |
// BEGIN BOILERPLATE CODE #include <bits/stdc++.h> using namespace std; #ifdef KAMIRULEZ const bool kami_loc = true; const long long kami_seed = 69420; #else const bool kami_loc = false; const long long kami_seed = chrono::steady_clock::now().time_since_epoch().count(); #endif const string kami_fi = "kamirulez.inp"; const string kami_fo = "kamirulez.out"; mt19937_64 kami_gen(kami_seed); long long rand_range(long long rmin, long long rmax) { uniform_int_distribution<long long> rdist(rmin, rmax); return rdist(kami_gen); } long double rand_real(long double rmin, long double rmax) { uniform_real_distribution<long double> rdist(rmin, rmax); return rdist(kami_gen); } void file_io(string fi, string fo) { if (fi != "" && (!kami_loc || fi == kami_fi)) { freopen(fi.c_str(), "r", stdin); } if (fo != "" && (!kami_loc || fo == kami_fo)) { freopen(fo.c_str(), "w", stdout); } } void set_up() { if (kami_loc) { file_io(kami_fi, kami_fo); } ios_base::sync_with_stdio(0); cin.tie(0); } void just_do_it(); void just_exec_it() { if (kami_loc) { auto pstart = chrono::steady_clock::now(); just_do_it(); auto pend = chrono::steady_clock::now(); long long ptime = chrono::duration_cast<chrono::milliseconds>(pend - pstart).count(); string bar(50, '='); cout << '\n' << bar << '\n'; cout << "Time: " << ptime << " ms" << '\n'; } else { just_do_it(); } } int main() { set_up(); just_exec_it(); return 0; } // END BOILERPLATE CODE // BEGIN MAIN CODE const int ms = 2e5 + 20; const int st = 20; map<int, set<pair<int, int>>> f; int px[ms]; int py[ms]; int nxt[ms][st]; int get(int px, int py) { auto it1 = f.find(px); if (it1 == f.end()) { return 0; } auto it2 = it1->second.lower_bound(make_pair(py, -1)); if (it2 == it1->second.end()) { return 0; } return it2->second; } void just_do_it() { int n; cin >> n >> n >> n; for (int i = 1; i <= n; i++) { cin >> px[i] >> py[i]; f[px[i]].insert({py[i], i}); } for (int u = 1; u <= n; u++) { nxt[u][0] = get(px[u] + 1, py[u]); } for (int k = 1; k < st; k++) { for (int u = 1; u <= n; u++) { nxt[u][k] = nxt[nxt[u][k - 1]][k - 1]; } } int q; cin >> q; for (int i = 0; i < q; i++) { int sx, sy, tx, ty; cin >> sx >> sy >> tx >> ty; if (sx == tx) { if (sy <= ty) { cout << "Yes" << '\n'; } else { cout << "No" << '\n'; } continue; } else if (sx > tx) { cout << "No" << '\n'; continue; } int u = get(sx, sy); for (int k = 0; k < st; k++) { if (((tx - sx - 1) >> k) & 1) { u = nxt[u][k]; } } if (u == 0) { cout << "No" << '\n'; continue; } if (py[u] <= ty) { cout << "Yes" << '\n'; } else { cout << "No" << '\n'; } } } // END MAIN CODE
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 1492 KB | 200 token(s): yes count is 21, no count is 179 |
2 | Correct | 5 ms | 1620 KB | 200 token(s): yes count is 70, no count is 130 |
3 | Correct | 4 ms | 1236 KB | 197 token(s): yes count is 25, no count is 172 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 275 ms | 27164 KB | 4000 token(s): yes count is 99, no count is 3901 |
2 | Correct | 207 ms | 27100 KB | 4000 token(s): yes count is 91, no count is 3909 |
3 | Correct | 219 ms | 27088 KB | 4000 token(s): yes count is 4000, no count is 0 |
4 | Correct | 251 ms | 27112 KB | 4000 token(s): yes count is 1991, no count is 2009 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 340 ms | 27628 KB | 200000 token(s): yes count is 110486, no count is 89514 |
2 | Correct | 409 ms | 27580 KB | 200000 token(s): yes count is 114664, no count is 85336 |
3 | Correct | 376 ms | 27592 KB | 200000 token(s): yes count is 86232, no count is 113768 |
4 | Correct | 440 ms | 27852 KB | 200000 token(s): yes count is 94603, no count is 105397 |
5 | Correct | 458 ms | 27788 KB | 200000 token(s): yes count is 94148, no count is 105852 |
6 | Correct | 469 ms | 33880 KB | 200000 token(s): yes count is 97163, no count is 102837 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 980 KB | 5000 token(s): yes count is 3238, no count is 1762 |
2 | Correct | 5 ms | 1032 KB | 5000 token(s): yes count is 3837, no count is 1163 |
3 | Correct | 6 ms | 1492 KB | 5000 token(s): yes count is 4104, no count is 896 |
4 | Correct | 6 ms | 1036 KB | 5000 token(s): yes count is 3934, no count is 1066 |
5 | Correct | 7 ms | 1108 KB | 5000 token(s): yes count is 3384, no count is 1616 |
6 | Correct | 6 ms | 980 KB | 5000 token(s): yes count is 3390, no count is 1610 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 655 ms | 35228 KB | 200000 token(s): yes count is 171404, no count is 28596 |
2 | Correct | 547 ms | 29712 KB | 200000 token(s): yes count is 161254, no count is 38746 |
3 | Correct | 423 ms | 27648 KB | 200000 token(s): yes count is 117455, no count is 82545 |
4 | Correct | 708 ms | 46604 KB | 200000 token(s): yes count is 182118, no count is 17882 |
5 | Correct | 547 ms | 34324 KB | 200000 token(s): yes count is 167565, no count is 32435 |
6 | Correct | 433 ms | 27600 KB | 200000 token(s): yes count is 156797, no count is 43203 |
7 | Correct | 412 ms | 27584 KB | 200000 token(s): yes count is 156797, no count is 43203 |
8 | Correct | 446 ms | 27532 KB | 200000 token(s): yes count is 122100, no count is 77900 |
9 | Correct | 673 ms | 33900 KB | 200000 token(s): yes count is 139670, no count is 60330 |
10 | Correct | 581 ms | 34000 KB | 200000 token(s): yes count is 165806, no count is 34194 |
11 | Correct | 770 ms | 40180 KB | 200000 token(s): yes count is 175646, no count is 24354 |
12 | Correct | 384 ms | 27620 KB | 200000 token(s): yes count is 134695, no count is 65305 |
13 | Correct | 439 ms | 27648 KB | 200000 token(s): yes count is 126733, no count is 73267 |
14 | Correct | 522 ms | 27728 KB | 200000 token(s): yes count is 155290, no count is 44710 |
15 | Correct | 443 ms | 27608 KB | 200000 token(s): yes count is 129674, no count is 70326 |