Sponsors

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);
}
}

8 killed, 95 injured...

Tragic Escalation: US-Israeli Strikes on Iran’s B1 Bridge Claim...

Singapore Airlines Direct Rtn...

Experience Luxury for Less: Singapore Airlines Announces Direct Return...

UWEC’s Bullert named scholar...

Ava Bullert: A Legacy of Academic and Athletic Excellence...

First Nations rehabilitation programs...

Improving First Nations Rehabilitation Programs: A Path Forward In Australia,...

CyberPower PC – 7800X3D,...

Score Big with the CyberPower PC RTX 5070 Ti...

North Korea’s Kim Jong...

Kim Jong Un Oversees Advanced Rocket Engine and Tank...

8 killed, 95 injured as US-Israeli strikes hit Iran’s B1 Bridge

Tragic Escalation: US-Israeli Strikes on Iran’s B1 Bridge Claim Eight Lives The geopolitical landscape of the Middle East has taken a somber and dangerous turn...

Singapore Airlines Direct Rtn to Singapore Ex PER $595, DRW $613, BNE $822 MEL $838, SYD $846, CNS $859 & More @ BTF

Experience Luxury for Less: Singapore Airlines Announces Direct Return Flights from Australia Travelers looking for a premium experience at an affordable price are in luck....

UWEC’s Bullert named scholar athlete of the year

Ava Bullert: A Legacy of Academic and Athletic Excellence at UW-Eau Claire In the highly competitive world of collegiate athletics, finding a player who perfectly...

First Nations rehabilitation programs aren’t keeping people out of prison. Here’s what would help

Improving First Nations Rehabilitation Programs: A Path Forward In Australia, the incarceration rates of First Nations people remain a critical issue that demands urgent systemic...

CyberPower PC – 7800X3D, RTX 5070 ti, 32GB, 2TB SSD, B850-VC Pro, Corsair RM850 watt, 2Year Premium Warranty +free Mech Keyboard and Resident Evil...

Score Big with the CyberPower PC RTX 5070 Ti Gaming Rig Deal Finding a high-end gaming PC that balances cutting-edge components with a reasonable price...

North Korea’s Kim Jong Un inspects solid-fuel rocket engine, new battle tank as Pyongyang steps up military development

Kim Jong Un Oversees Advanced Rocket Engine and Tank DevelopmentsIn a significant display of military modernization, North Korean leader Kim Jong Un has personally...

Aurangabad horror: Uncle locks 3 children inside room, slits their throats, attempts suicide

Shocking Incident in Aurangabad: Uncle Kills Three Children over Family Feud A horrific incident has sent shockwaves through the Aurangabad district of Bihar, where a...

ついに明かされる”ペニーワイズ”の起源―。「IT/イット ウェルカム・トゥ・デリー “それ”が見えたら、終わり。<シーズン1>」Blu-ray BOX 6/3(水)発売決定!

The Nightmare Returns: IT: Welcome to Derry Season 1 Blu-ray Release Details Fans of Stephen King’s legendary horror saga are preparing to return to the...

Will too much AI weaken troops’ judgement?

The Pentagon's AI Integration: A Double-Edged Sword for Military PersonnelThe United States Department of Defense is moving at an unprecedented pace to integrate Large...