# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
444804 | kig9981 | 별자리 3 (JOI20_constellation3) | C++17 | 625 ms | 91964 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#ifdef NON_SUBMIT
#define TEST(n) (n)
#define tout cerr
#else
#define TEST(n) ((void)0)
#define tout cin
#endif
using namespace std;
const int SZ=1<<18;
vector<int> adj[200001], U[200001], P;
vector<pair<int,int>> Q[200001];
int node_cnt, L[200002][18], R[200002][18], A[200002], numL[200002], numR[200002], LR[200002], RR[200002], tree[2*SZ];
long long Ltree[200003], Rtree[200003], LD[200002], RD[200002];
void set_tree(int n, int v) {for(tree[n+=SZ]=v;n>>=1;) tree[n]=max(tree[2*n],tree[2*n+1]);}
void add_tree(long long *tree, int n, long long v) {for(;n<200003;n+=n&-n) tree[n]+=v;}
void add_tree(long long *tree, int s, int e, long long v) {add_tree(tree,s,v); add_tree(tree,e+1,-v);}
void dfs(int c, int *num, int *R)
{
num[c]=++node_cnt;
for(auto n: adj[c]) dfs(n,num,R);
R[c]=node_cnt;
}
int get_lpos(int v)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |