Submission #426892

#TimeUsernameProblemLanguageResultExecution timeMemory
426892lycTrampoline (info1cup20_trampoline)C++14
11 / 100
858 ms26552 KiB
#include <bits/stdc++.h> using namespace std; #define TRACE(x) cerr << #x << " :: " << x << endl #define _ << " " << #define SZ(x) (int)(x).size() #define ALL(x) (x).begin(),(x).end() #define FOR(i,a,b) for(int i=(a);i<=(b);++i) #define RFOR(i,a,b) for(int i=(a);i>=(b);--i) typedef pair<int,int> ii; const int mxN = 2e5+5; const int lgN = 18; int R, C, N, T, A[mxN], B[mxN]; map<int,vector<ii>> rows; int pa[mxN][lgN]; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> R >> C >> N; FOR(i,1,N){ int a, b; cin >> a >> b; A[i] = a, B[i] = b; rows[a].push_back(ii(b,i)); } for (auto& [a, v] : rows) { sort(ALL(v)); auto& p = rows[a-1]; auto it = p.begin(); for (auto& [b, i] : v) { while (it != p.end() && next(it) != p.end() && next(it)->first <= b) ++it; pa[i][0] = (it == p.end() ? 0 : it->second); FOR(k,1,lgN-1) pa[i][k] = pa[pa[i][k-1]][k-1]; } } cin >> T; FOR(i,1,T){ int a, b, c, d; cin >> a >> b >> c >> d; bool ok = 1; if (a > c || b > d) ok = 0; else if (a < c) { auto it = lower_bound(ALL(rows[c-1]), ii(d+1,0)); if (it == rows[c-1].begin()) ok = 0; else { auto u = (--it)->second; RFOR(k,lgN-1,0) if (pa[u][k] && A[pa[u][k]] >= a) { u = pa[u][k]; } if (A[u] != a || B[u] < b) ok = 0; } } cout << (ok ? "Yes" : "No") << '\n'; } }

Compilation message (stderr)

trampoline.cpp: In function 'int main()':
trampoline.cpp:29:16: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   29 |     for (auto& [a, v] : rows) {
      |                ^
trampoline.cpp:33:20: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   33 |         for (auto& [b, i] : v) {
      |                    ^
#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...