Submission #466517

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
4665172021-08-19 14:32:42jhwest2Cake 3 (JOI19_cake3)C++14
24 / 100
4067 ms122028 KiB
#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#define va first
#define vb second
using namespace std;
typedef long long lint;
typedef pair<lint, lint> pint;
const int M = 2e5 + 10;
const lint INF = 4e18 + 10;
lint n, m, ans, A[M], B[M], D[M];
pair<lint, lint> X[M];
struct Pst {
struct Node {
lint cnt, val, l, r;
Node() = default;
} T[30 * M];
int size = 0, rt = 0, R[M];
int new_node() { return ++size; }
void init(int lo = 1, int hi = n, int idx = 0) {
if (lo == hi) return;
init(lo, lo + hi >> 1, T[idx].l = new_node());
init(1 + (lo + hi >> 1), hi, T[idx].r = new_node());
}
void update(int a, lint x) {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

cake3.cpp: In member function 'void Pst::init(int, int, int)':
cake3.cpp:27:21: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   27 |         init(lo, lo + hi >> 1, T[idx].l = new_node());
      |                  ~~~^~~~
cake3.cpp:28:22: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   28 |         init(1 + (lo + hi >> 1), hi, T[idx].r = new_node());
      |                   ~~~^~~~
cake3.cpp: In member function 'void Pst::_update(int, lint, int, int, int, int)':
cake3.cpp:40:20: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   40 |         int m = lo + hi >> 1;
      |                 ~~~^~~~
cake3.cpp: In member function 'lint Pst::query(int, int)':
cake3.cpp:55:31: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   55 |             int mid = lo + hi + 1 >> 1;
      |                       ~~~~~~~~^~~
cake3.cpp: In member function 'lint Pst::cnt_query(int, int, int, int, int)':
cake3.cpp:64:39: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   64 |         return cnt_query(a, b, lo, lo + hi >> 1, T[idx].l) +
      |                                    ~~~^~~~
cake3.cpp:65:37: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   65 |             cnt_query(a, b, 1 + (lo + hi >> 1), hi, T[idx].r);
      |                                  ~~~^~~~
cake3.cpp: In member function 'lint Pst::sum_query(int, int, int, int, int)':
cake3.cpp:70:39: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   70 |         return sum_query(a, b, lo, lo + hi >> 1, T[idx].l) +
      |                                    ~~~^~~~
cake3.cpp:71:37: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   71 |             sum_query(a, b, 1 + (lo + hi >> 1), hi, T[idx].r);
      |                                  ~~~^~~~
cake3.cpp: In function 'void solve(lint, lint, lint, lint)':
cake3.cpp:82:18: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   82 |     lint mid = l + r >> 1, mx = -INF;
      |                ~~^~~
cake3.cpp: In function 'int main()':
cake3.cpp:107:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
  107 |     for (auto [a, b] : V) S.update(b, a);
      |               ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...