提出 #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 |
| 結果 |
|
|
| セット名 |
テストケース |
| 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 |