Submission #102846

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
1028462019-03-28 01:02:03wxh010910Meetings (IOI18_meetings)C++17
100 / 100
3537 ms421616 KiB
#include <bits/stdc++.h>
#include "meetings.h"
using namespace std;
typedef long long ll;
struct node_t {
int left, right;
ll k, b, l, r;
bool cover;
node_t(bool cover = false, ll k = 0, ll b = 0):cover(cover), k(k), b(b) {
}
void apply(node_t tag) {
if (tag.cover) {
k = b = l = r = 0;
cover = true;
}
k += tag.k;
b += tag.b;
l += tag.k * left + tag.b;
r += tag.k * right + tag.b;
}
void reset() {
k = b = 0;
cover = false;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

meetings.cpp: In constructor 'node_t::node_t(bool, ll, ll)':
meetings.cpp:11:8: warning: 'node_t::cover' will be initialized after [-Wreorder]
   bool cover;
        ^~~~~
meetings.cpp:10:6: warning:   'll node_t::k' [-Wreorder]
   ll k, b, l, r;
      ^
meetings.cpp:13:3: warning:   when initialized here [-Wreorder]
   node_t(bool cover = false, ll k = 0, ll b = 0):cover(cover), k(k), b(b) {
   ^~~~~~
meetings.cpp: In member function 'void segtree_t::build(int, int, int)':
meetings.cpp:41:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
       int y = l + r >> 1, z = x + (y - l + 1 << 1);
               ~~^~~
meetings.cpp:41:42: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
       int y = l + r >> 1, z = x + (y - l + 1 << 1);
                                    ~~~~~~^~~
meetings.cpp: In member function 'll segtree_t::query(int, int, int, int)':
meetings.cpp:64:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
       int y = l + r >> 1, z = x + (y - l + 1 << 1);
               ~~^~~
meetings.cpp:64:42: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
       int y = l + r >> 1, z = x + (y - l + 1 << 1);
                                    ~~~~~~^~~
meetings.cpp: In member function 'void segtree_t::add(int, int, int, int, int, ll)':
meetings.cpp:78:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
       int y = l + r >> 1, z = x + (y - l + 1 << 1);
               ~~^~~
meetings.cpp:78:42: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
       int y = l + r >> 1, z = x + (y - l + 1 << 1);
                                    ~~~~~~^~~
meetings.cpp: In member function 'void segtree_t::merge(int, int, int, int, int, ll, ll)':
meetings.cpp:103:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
     int y = l + r >> 1, z = x + (y - l + 1 << 1);
             ~~^~~
meetings.cpp:103:40: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
     int y = l + r >> 1, z = x + (y - l + 1 << 1);
                                  ~~~~~~^~~
meetings.cpp: In function 'std::vector<long long int> minimum_costs(std::vector<int>, std::vector<int>, std::vector<int>)':
meetings.cpp:152:64: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
       rmq[i][j] = my_max(rmq[i - 1][j], rmq[i - 1][j + (1 << i - 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...