Codeforces Round #381 (Div. 1), problem: (C) Alyona and towers Solution C/C++

Hi guys , I just solved the third problem of round 381 , Hope you like it , feel free to comment any better solution .

#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define fi first
#define se second
typedef long long ll;
typedef long double ld;
const int inf=1e9+99;

const int N=1<<19;
struct dat {
ll d;
int ans;
int dL,dR;
int lenL,lenR,len;

void inc(ll dd) {
d += dd;
dL=dR=(d>0)-(d<0);
lenL=lenR=ans=!!d;
len=1;
}
void merge(const dat &L,const dat &R) {
ans=max(L.ans,R.ans);
dL=L.dL;
dR=R.dR;
len=L.len+R.len;
lenL=L.lenL;
lenR=R.lenR;
if(L.dR >= R.dL && L.dR && R.dL) {
ans=max(ans,L.lenR+R.lenL);
if(lenL==L.len) lenL += R.lenL;
if(lenR==R.len) lenR += L.lenR;
}
}
} rmq[N+N];

void inc(int x,ll d) {
x+=N;
rmq[x].inc(d);
for(;x>>=1;) rmq[x].merge(rmq[x+x],rmq[x+x+1]);
}

int main() {
int n; scanf(“%d”,&n);
int pr=-1;
for(int i=1;i<=n;i++) {
int a;
scanf(“%d”,&a);
if(i>1) inc(i-1,a-pr);
pr=a;
}

int m; scanf(“%d”,&m); for(;m–;) {
int l,r,d; scanf(“%d%d%d”,&l,&r,&d);
if(l>1) inc(l-1,d);
if(r<n) inc(r,-d);
printf(“%d\n”,rmq[1].ans+1);
}
}

Advertisement

spot_img

Technology Innovation Institute Completes...

In a historic milestone for Middle Eastern space exploration,...

We Tested Viral Kitchen...

After putting the Viral Kitchen Gadgets through a proper...

L&T wins ₹10,000-15,000 crore...

Indian infrastructure and engineering conglomerate Larsen & Toubro (L&T)...

If a chatbot prompt...

When news recently surfaced about an alleged breach of...

We Tested Viral Kitchen...

There comes a point when you realise that tolerating...

NBA Trade Rumors: Potential...

The NBA landscape is constantly shifting, and recent contract...

Technology Innovation Institute Completes Asteroid-Landing Probe for Landmark Emirates Mission to the Asteroid Belt

In a historic milestone for Middle Eastern space exploration, the Technology Innovation Institute (TII) has officially completed its state-of-the-art asteroid-landing probe. Designed and constructed...

We Tested Viral Kitchen Gadgets Here Is What You Must Know

After putting the Viral Kitchen Gadgets through a proper 30-day real-world test, I can tell you exactly what works, what does not, and who...

L&T wins ₹10,000-15,000 crore power transmission orders in India, Middle East

Indian infrastructure and engineering conglomerate Larsen & Toubro (L&T) has achieved another major milestone, securing multiple mega orders within its Power Transmission & Distribution...

If a chatbot prompt like ‘find Australian medicine statistics’ results in a website breach, the responsibility does not lie with a piece of code

When news recently surfaced about an alleged breach of Australia’s Medicare computer systems triggered by an automated artificial intelligence tool, public alarm escalated quickly....

We Tested Viral Kitchen Gadgets Here Is What You Must Know

There comes a point when you realise that tolerating a frustrating situation is costing you more than just fixing it properly. That was the...

NBA Trade Rumors: Potential RFA Targets, Fallout for Jalen Duren, & the Big Board

The NBA landscape is constantly shifting, and recent contract updates regarding Detroit Pistons center Jalen Duren have created significant ripples across the league’s transactional...

The Ultimate Viral Kitchen Gadgets Guide You Didnt Know You Needed

If you had told me six months ago that a single purchase would change how I approach my daily routine, I would not have...

Is it OK to play bird sounds for my lovebird?

Lovebirds are famous for their vibrant personalities, affectionate nature, and expressive vocalizations. Because they are highly social flock animals in the wild, many owners...

The Real Truth About Viral Kitchen Gadgets Before You Buy

I stumbled across this while desperately trying to fix a recurring problem in my routine. The Viral Kitchen Gadgets was not even on my...