Submission #730303

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
7303032023-04-25 15:46:44MilosMilutinovicDynamic Diameter (CEOI19_diameter)C++14
49 / 100
3224 ms173732 KiB
/**
* author: wxhtzdy
* created: 25.04.2023 16:05:28
**/
#include <bits/stdc++.h>
using namespace std;
struct segtree {
vector<long long> mx;
vector<long long> lzy;
segtree(int n) {
mx.resize(4 * n);
lzy.resize(4 * n);
fill(mx.begin(), mx.end(), 0);
fill(lzy.begin(), lzy.end(), 0);
}
void push(int v) {
if (2 * v + 1 < mx.size()) {
mx[2 * v] += lzy[v];
mx[2 * v + 1] += lzy[v];
lzy[2 * v] += lzy[v];
lzy[2 * v + 1] += lzy[v];
}
lzy[v] = 0;
}
void modify(int v, int l, int r, int ql, int qr, int x) {
if (l > qr || r < ql || l > r) {
return;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

diameter.cpp: In member function 'void segtree::push(int)':
diameter.cpp:19:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |     if (2 * v + 1 < mx.size()) {
      |         ~~~~~~~~~~^~~~~~~~~~~
diameter.cpp: In member function 'void segtree::modify(int, int, int, int, int, int)':
diameter.cpp:38:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   38 |     int mid = l + r >> 1;
      |               ~~^~~
diameter.cpp: In member function 'long long int segtree::query(int, int, int, int, int)':
diameter.cpp:51:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   51 |     int mid = l + r >> 1;
      |               ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...