Submission #435615

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
4356152021-06-23 13:31:53two_sidesDistributing Candies (IOI21_candies)C++17
100 / 100
609 ms38316 KiB
#include <vector>
#include <algorithm>
using namespace std;
struct segment_tree {
#define il i * 2
#define ir i * 2 + 1
static const long long INF = 1e18;
vector<long long> mini, maxi, lazy;
int n; long long total;
segment_tree(int n): n(n), mini(n * 4),
maxi(n * 4), lazy(n * 4), total(0) {}
void add(int i, int l, int r, int p, int v) {
if (l >= p) {
mini[i] += v; maxi[i] += v;
lazy[i] += v; return;
}
int m = (l + r) / 2;
if (m >= p) add(il, l, m, p, v);
add(ir, m + 1, r, p, v);
mini[i] = min(mini[il], mini[ir]) + lazy[i];
maxi[i] = max(maxi[il], maxi[ir]) + lazy[i];
}
void add(int p, int v) {
total += v; add(1, 0, n - 1, p, v);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

candies.cpp: In constructor 'segment_tree::segment_tree(int)':
candies.cpp:12:9: warning: 'segment_tree::n' will be initialized after [-Wreorder]
   12 |     int n; long long total;
      |         ^
candies.cpp:11:23: warning:   'std::vector<long long int> segment_tree::mini' [-Wreorder]
   11 |     vector<long long> mini, maxi, lazy;
      |                       ^~~~
candies.cpp:14:5: warning:   when initialized here [-Wreorder]
   14 |     segment_tree(int n): n(n), mini(n * 4),
      |     ^~~~~~~~~~~~
#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...