Submission #603295

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
6032952022-07-23 21:57:26GusterGoose27Railway Trip (JOI17_railway_trip)C++11
100 / 100
207 ms18964 KiB
#include <bits/stdc++.h>
using namespace std;
typedef pair<int, int> pii;
const int MAXN = 1e5;
int n, k, m;
pii ranges[MAXN][20];
int heights[MAXN];
pii up_to_r(int s, int e) {
int ans = 0;
pii cur(s, s);
for (int i = 19; i >= 0; i--) {
if (max(ranges[cur.first][i].second, ranges[cur.second][i].second) < e) {
int nextl = min(ranges[cur.first][i].first, ranges[cur.second][i].first);
int nextr = max(ranges[cur.first][i].second, ranges[cur.second][i].second);
cur = pii(nextl, nextr);
ans += (1 << i);
}
}
return pii(cur.second, ans);
}
pii up_to_l(int s, int e) {
int ans = 0;
pii cur(s, s);
for (int i = 19; i >= 0; i--) {
if (min(ranges[cur.first][i].first, ranges[cur.second][i].first) > e) {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...