Submission #292491

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
2924912020-09-07 06:12:25BertedExamination (JOI19_examination)C++14
100 / 100
719 ms27120 KiB
#include <iostream>
#include <algorithm>
#include <vector>
#define pii pair<int, int>
#define fst first
#define snd second
#define pip pair<int, pii>
#define ppp pair<pii, pii>
using namespace std;
const int INF = 1e9;
struct DS
{
vector<int> C, A;
DS() {C.push_back(-1);}
void addPoint(int x) {C.push_back(x);}
void prepDS()
{
sort(C.begin(), C.end());
C.resize(unique(C.begin(), C.end()) - C.begin());
A.resize(C.size());
}
void update(int x, int v)
{
auto it = prev(upper_bound(C.begin(), C.end(), x)) - C.begin();
for (; it < A.size(); it += it & (-it)) {A[it] += v;}
}
int query(int x)
{
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

examination.cpp: In member function 'void DS::update(int, int)':
examination.cpp:27:13: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |   for (; it < A.size(); it += it & (-it)) {A[it] += v;}
      |          ~~~^~~~~~~~~~
examination.cpp: In function 'void DS2::addPoint2(int, int)':
examination.cpp:51:13: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |   for (; it < C.size(); it += it & (-it)) {A[it].addPoint(y);}
      |          ~~~^~~~~~~~~~
examination.cpp: In function 'void DS2::prepDS2()':
examination.cpp:55:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |   for (int i = 0; i < C.size(); i++) {A[i].prepDS();}
      |                   ~~^~~~~~~~~~
examination.cpp: In function 'void DS2::update(int, int, int)':
examination.cpp:60:13: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |   for (; it < C.size(); it += it & (-it)) {A[it].update(y, v);}
      |          ~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...