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

Judge sentences Australian woman...

Australian Woman Receives Life Sentence for Fatal Mushroom Poisoning Erin...

Chainsaw Man – The...

Chainsaw Man Movie's Reze Arc: Maximum the Hormone Returns! Fans...

You can still save...

Score Big Savings on Steelcase Furniture: Extended Labor Day...

Apple has reportedly launched...

Apple's Internal AI Chatbot: A Retail-Focused Approach Apple, a company...

Solana’s U.S. backing vs....

Solana's U.S. Backing vs. Binance's Asian Capital: A Crypto...

Why Trump Won’t Tell...

Why Trump Won't Tell the Truth About His Health:...

Judge sentences Australian woman to life in prison for fatal mushroom poisoning of in-laws

Australian Woman Receives Life Sentence for Fatal Mushroom Poisoning Erin Patterson, an Australian woman, has been sentenced to life in prison for the fatal mushroom...

Chainsaw Man – The Movie: Reze Arc Anime Announces Insert Song Artist

Chainsaw Man Movie's Reze Arc: Maximum the Hormone Returns! Fans of Chainsaw Man are in for a treat! The upcoming anime movie focusing on...

You can still save 20% off Steelcase office chairs and desks during this extended Labor Day sale

Score Big Savings on Steelcase Furniture: Extended Labor Day Sale! Labor Day may be over, but the deals aren't! Steelcase, a renowned name in...

Apple has reportedly launched an AI chatbot, but it’s not for the iPhone 17 (or you)

Apple's Internal AI Chatbot: A Retail-Focused Approach Apple, a company synonymous with consumer-facing technology, has reportedly launched its own AI chatbot. However, unlike the...

Solana’s U.S. backing vs. Binance’s Asian capital: Who will win this battle?

Solana's U.S. Backing vs. Binance's Asian Capital: A Crypto Clash for Supremacy The cryptocurrency landscape is a volatile battlefield, and a fascinating clash is brewing...

Why Trump Won’t Tell the Truth About His Health: Michael Wolff | Inside Trump’s Head

Why Trump Won't Tell the Truth About His Health: Decoding Michael Wolff's Insights Michael Wolff, a controversial yet impactful figure in political journalism, recently offered...

Mapping the Jazz Faculty Gender Gap

Mapping the Jazz Faculty Gender Gap: A Berklee-Sponsored Study Reveals Stark Imbalance A recently published study sponsored by Berklee College of Music paints a concerning...

Burning Man festivalgoer is found dead in pool of blood as cops launch murder probe

Burning Man Festivalgoer Found Dead in Pool of Blood; Murder Investigation Launched A tragic incident has cast a shadow over the iconic Burning Man festival...

Fleischmann says ‘never’ to town hall (Ruby Rayner/timesfreepress.com)

Fleischmann Declares 'Never' to Town Halls, Calling Them 'Left-Wing Bait' Chattanooga Congressman Chuck Fleischmann has emphatically ruled out holding town hall meetings, labeling them as...