Submission #102847

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
1028472019-03-28 01:02:19wxh010910Seats (IOI18_seats)C++17
100 / 100
1880 ms126008 KiB
#include <bits/stdc++.h>
#include "seats.h"
using namespace std;
class segtree_t {
private:
struct node_t {
int tag, value, answer;
};
vector<node_t> tree;
int n;
void apply(int x, int value) {
tree[x].tag += value;
tree[x].value += value;
}
void push_up(int x, int z) {
tree[x].value = min(tree[x + 1].value, tree[z].value);
tree[x].answer = 0;
if (tree[x].value == tree[x + 1].value) {
tree[x].answer += tree[x + 1].answer;
}
if (tree[x].value == tree[z].value) {
tree[x].answer += tree[z].answer;
}
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

seats.cpp: In member function 'void segtree_t::build(int, int, int, std::vector<int>&)':
seats.cpp:45:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
       int y = l + r >> 1, z = x + (y - l + 1 << 1);
               ~~^~~
seats.cpp:45:42: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
       int y = l + r >> 1, z = x + (y - l + 1 << 1);
                                    ~~~~~~^~~
seats.cpp: In member function 'void segtree_t::modify(int, int, int, int, int, int)':
seats.cpp:56:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
       int y = l + r >> 1, z = x + (y - l + 1 << 1);
               ~~^~~
seats.cpp:56:42: warning: suggest parentheses around '+' inside '<<' [-Wparentheses]
       int y = l + r >> 1, z = x + (y - l + 1 << 1);
                                    ~~~~~~^~~
seats.cpp: In function 'void modify(int, int, int)':
seats.cpp:179:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       for (int j = 0; j < neighbor.size(); ++j) {
                       ~~^~~~~~~~~~~~~~~~~
#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...