提出 #69862122


ソースコード 拡げる

/*
*            /$$           /$$
*           |__/          |__/
*  /$$$$$$$$ /$$ /$$$$$$$$ /$$  /$$$$$$
* |____ /$$/| $$|____ /$$/| $$ /$$__  $$
*    /$$$$/ | $$   /$$$$/ | $$| $$  \ $$
*   /$$__/  | $$  /$$__/  | $$| $$  | $$
*  /$$$$$$$$| $$ /$$$$$$$$| $$|  $$$$$$$
* |________/|__/|________/|__/ \____  $$
*                                   | $$
*                                   | $$
*                                   |__/
*/
//hj23308保佑我
//Missile保佑我
/*
* 醒了在梦里挣扎,不觉黯淡了朝霞
*/
/*
* 我很高兴你没有忘了我,但是我现在更希望你已经忘了我了。
* 希望在你的记忆中,我只是尘土一撮,从你的全世界路过,然后四散飞扬不留下一点痕迹,而你要不回头的往前走。
* 我更希望我只是从你的全世界路过,只是路过
*/
/*
* 只是我在十字路口守了太久,守到黄沙如雨掩埋一切痕迹,才发现自己等的人已经离开了。
*/
/*
* 听我的 别回头 回头就可能会泪流满面,会被黄沙掩埋,所以即使痛苦也要向前走
*/
/*
* 我听到了「天行健」的回响,这是一个伟大斗士的不息自强;
* 我听到了「破万法」的回响,这是一个黑道打手的守护欲望;
* 我看见了「生生不息」的激荡,这是一个骗子的伟大乐章!
*/
/*
* 我用虚假的面具照顾着细腻的感情;
* 我以华丽的衣物下藏着腐烂的血肉;
* 当我摘下面具,褪去衣物,即便是我最亲近的人,也无法直视我
*/
#include<bits/stdc++.h>
using namespace std;
mt19937 engine(chrono::steady_clock().now().time_since_epoch().count());
const int MAXN=3e5+5;
const long long inf=1e18;
int n,q;
long long a[MAXN];
struct SGT {
	#define Ls(u) (u<<1)
	#define Rs(u) (u<<1|1)
	long long sum;
	int siz[4*MAXN];
	long long Min[4*MAXN],lazy[4*MAXN];
	void push(int u,long long val)
	{
		Min[u]-=val;
		lazy[u]+=val;
	}
	void pushDown(int u)
	{
		if(lazy[u]) {
			push(Ls(u),lazy[u]);
			push(Rs(u),lazy[u]);
			lazy[u]=0;
		}
	}
	void pushUp(int u)
	{
		siz[u]=siz[Ls(u)]+siz[Rs(u)];
		Min[u]=min(Min[Ls(u)],Min[Rs(u)]);
	}
	void Build(int u,int l,int r)
	{
		if(l==r) {
			siz[u]=1,Min[u]=a[l];
			return;
		}
		int mid=(l+r)>>1;
		Build(Ls(u),l,mid);
		Build(Rs(u),mid+1,r);
		pushUp(u);
	}
	void Modify(int u,int l,int r)
	{
		if(Min[u]>=0) return;
		if(l==r) {
			sum+=Min[u];
			Min[u]=inf,siz[u]=0;
			return;
		}
		pushDown(u);
		int mid=(l+r)>>1;
		Modify(Ls(u),l,mid);
		Modify(Rs(u),mid+1,r);
		pushUp(u);
	}
	void Query(int u,int l,int r,int L,int R,int k)
	{
		if(L<=l&&r<=R) {
//			cout<<siz[u]<<" * "<<k<<" and "<<Min[u]<<"\n";
			sum+=1ll*siz[u]*k;
			push(u,k);
			Modify(u,l,r);
			return ;
		}
		pushDown(u);
		int mid=(l+r)>>1;
		if(L<=mid) Query(Ls(u),l,mid,L,R,k);
		if(mid+1<=R) Query(Rs(u),mid+1,r,L,R,k);
		pushUp(u);
	}
}tree;
int main()
{
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	std::ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>n;
	for(int i=1;i<=n;i++) {
		cin>>a[i];
	}
	tree.Build(1,1,n);
	cin>>q;
	while(q--) {
		int l,r,k;
		cin>>l>>r>>k;
		tree.sum=0;
		tree.Query(1,1,n,l,r,k);
		cout<<tree.sum<<"\n";
	}
	return 0;
}

提出情報

提出日時
問題 F - Clearance
ユーザ Ziziq
言語 C++ 20 (gcc 12.2)
得点 525
コード長 3326 Byte
結果 AC
実行時間 374 ms
メモリ 27904 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 525 / 525
結果
AC × 1
AC × 38
セット名 テストケース
Sample sample_01.txt
All sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt
ケース名 結果 実行時間 メモリ
sample_01.txt AC 1 ms 3452 KiB
test_01.txt AC 1 ms 3576 KiB
test_02.txt AC 1 ms 3552 KiB
test_03.txt AC 1 ms 3532 KiB
test_04.txt AC 51 ms 3712 KiB
test_05.txt AC 48 ms 3496 KiB
test_06.txt AC 46 ms 3660 KiB
test_07.txt AC 340 ms 26356 KiB
test_08.txt AC 320 ms 26476 KiB
test_09.txt AC 303 ms 26320 KiB
test_10.txt AC 340 ms 27408 KiB
test_11.txt AC 327 ms 27788 KiB
test_12.txt AC 351 ms 26560 KiB
test_13.txt AC 288 ms 27836 KiB
test_14.txt AC 321 ms 27760 KiB
test_15.txt AC 307 ms 27764 KiB
test_16.txt AC 296 ms 26352 KiB
test_17.txt AC 283 ms 26344 KiB
test_18.txt AC 288 ms 26420 KiB
test_19.txt AC 285 ms 26368 KiB
test_20.txt AC 290 ms 26416 KiB
test_21.txt AC 292 ms 26380 KiB
test_22.txt AC 176 ms 26352 KiB
test_23.txt AC 173 ms 26316 KiB
test_24.txt AC 175 ms 26344 KiB
test_25.txt AC 174 ms 26308 KiB
test_26.txt AC 182 ms 27440 KiB
test_27.txt AC 170 ms 27248 KiB
test_28.txt AC 196 ms 27708 KiB
test_29.txt AC 199 ms 27660 KiB
test_30.txt AC 166 ms 27876 KiB
test_31.txt AC 156 ms 27904 KiB
test_32.txt AC 358 ms 27648 KiB
test_33.txt AC 374 ms 27640 KiB
test_34.txt AC 362 ms 27744 KiB
test_35.txt AC 364 ms 27664 KiB
test_36.txt AC 363 ms 27676 KiB
test_37.txt AC 354 ms 27644 KiB