Submission #713985

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
7139852023-03-23 12:11:36Alex_tz307Uzastopni (COCI15_uzastopni)C++17
160 / 160
24 ms8620 KiB
#include <bits/stdc++.h>
using namespace std;
const int kN = 1e4;
const int kK = 100;
int a[1 + kN];
vector<int> g[1 + kN], st[1 + kK], dr[1 + kK];
vector<pair<int, int>> intervals[1 + kN];
bitset<1 + kK + 1> reach;
void dfs(int u) {
for (const int &v : g[u]) {
dfs(v);
}
for (int i = 1; i <= kK; ++i) {
st[i].clear();
dr[i].clear();
}
for (const int &v : g[u]) {
for (const auto &range : intervals[v]) {
if (a[u] < range.first) {
dr[range.second].emplace_back(range.first - 1);
} else if (range.second < a[u]) {
st[range.first].emplace_back(range.second + 1);
}
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...