Submission #154395

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
1543952019-09-21 16:55:34rama_pangRectangles (IOI19_rect)C++14
100 / 100
4165 ms838788 KiB
#include "rect.h"
#include <bits/stdc++.h>
using namespace std;
struct bit {
vector<int> tree;
bit(int &n) {
tree.assign(n + 1, 0);
}
void update(int &n, int &x) {
for (int i = n + 1; i < tree.size(); i += (i & -i)) tree[i] += x;
}
int query(int n) {
int res = 0;
for (int i = n + 1; i > 0; i -= (i & -i)) res += tree[i];
return res;
}
};
void get_interval(vector<int> &a, vector<int> &L, vector<int> &R) {
int n = a.size(); vector<int> s; s.reserve(n);
for (int i = 0; i < n; i++) L[i] = -1, R[i] = -1;
for (int i = 0; i < n; i++) { //find biggest on left side
while (s.size() && a[s.back()] < a[i]) s.pop_back();
if (s.size()) L[i] = s.back();
s.push_back(i);
}
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

rect.cpp: In member function 'void bit::update(int&, int&)':
rect.cpp:13:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int i = n + 1; i < tree.size(); i += (i & -i)) tree[i] += x;
                             ~~^~~~~~~~~~~~~
rect.cpp: In function 'long long int count_rectangles(std::vector<std::vector<int> >)':
rect.cpp:85:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 while (p < update.size() && update[p].first.first <= k) { //updating cnt
                        ~~^~~~~~~~~~~~~~~
rect.cpp:90:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             while (p < update.size()) { //restoring cnt to default
                    ~~^~~~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...