제출 #607155

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
6071552022-07-26 12:33:21jhwest2Regions (IOI09_regions)C++14
95 / 100
8036 ms73788 KiB
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 202020;
const int MAXR = 25252;
typedef long long ll;
int n, r, q, R[MAXN], P[MAXN], X[MAXN];
vector<int> G[MAXN];
vector<int> V[MAXR], W[MAXR];
map<pair<int, int>, ll> M;
struct PST {
vector<int> tree, l, r;
int new_node() {
tree.push_back(0);
l.push_back(0);
r.push_back(0);
return (int)tree.size() - 1;
}
int init(int lo, int hi) {
int idx = new_node();
if (lo != hi) {
int ll = init(lo, lo + hi >> 1);
int rr = init(1 + (lo + hi >> 1), hi);
l[idx] = ll;
r[idx] = rr;
}
return idx;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

컴파일 시 표준 에러 (stderr) 메시지

regions.cpp: In member function 'int PST::init(int, int)':
regions.cpp:25:34: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   25 |             int ll = init(lo, lo + hi >> 1);
      |                               ~~~^~~~
regions.cpp:26:35: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   26 |             int rr = init(1 + (lo + hi >> 1), hi);
      |                                ~~~^~~~
regions.cpp: In member function 'int PST::update(int, int, int, int, int)':
regions.cpp:37:23: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   37 |         int mid = (lo + hi >> 1);
      |                    ~~~^~~~
regions.cpp: In member function 'int PST::query(int, int, int, int)':
regions.cpp:47:23: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   47 |         int mid = (lo + hi >> 1);
      |                    ~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...