# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
397299 | Antekb | Comparing Plants (IOI20_plants) | C++14 | 871 ms | 17348 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "plants.h"
#include<bits/stdc++.h>
#define pb(x) push_back(x)
#define st first
#define nd second
using namespace std;
const int N=(1<<18);
int lazy[2*N], maks[2*N];
void prop1(int v){
if(!lazy[v] || v>N)return;
int l=2*v, r=l+1;
lazy[l]+=lazy[v];
lazy[r]+=lazy[v];
maks[l]+=lazy[v];
maks[r]+=lazy[v];
lazy[v]=0;
}
void add(int v, int l, int r ,int L, int R, int c){
//if(v==1)cout<<"a"<<l<<" "<<r<<" "<<c<<"\n";
//cout<<v<<" "<<l<<" "<<r<<" "<<L<<" "<<R<<"\n";
if(l==L && r==R){
lazy[v]+=c;
maks[v]+=c;
return;
}
prop1(v);
int M=(L+R)>>1;
if(l<=M)add(2*v, l, min(M, r), L, M, c);
if(r>M)add(2*v+1, max(M+1, l), r, M+1, R, c);
maks[v]=max(maks[2*v], maks[2*v+1]);
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |