# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1173068 | ivaziva | Split the sequence (APIO14_sequence) | C++20 | 8 ms | 2888 KiB |
#include <bits/stdc++.h>
using namespace std;
#define MAXN 100001
#define MAXM 200
#define int long long
const int MIN=-1e9,MAX=1e9;
struct Node {
pair<int,int> line;
Node *left, *right;
bool active;
Node():line({0,-LLONG_MAX}),left(nullptr),right(nullptr),active(false){}
};
class LiChaoTree {
private:
Node* root;
int minX,maxX;
int get(int x,pair<int,int> line) {return line.first*x+line.second;}
void update(Node*& node,int l,int r,pair<int,int> line)
{
if (!node) node=new Node();
if (!node->active) {node->active=true;node->line=line;return;}
int mid=(l+r)/2;
bool leftBetter=get(l,line)>get(l,node->line);
bool midBetter=get(mid,line)>get(mid,node->line);
if (midBetter) swap(node->line,line);
if (l==r) return;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |