Submission #57068763
Source Code Expand
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <bits/stdc++.h>
using namespace std;
using ui = unsigned;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
#define rep(i,l,r) for(int i=(l);i<=(r);++i)
#define per(i,l,r) for(int i=(l);i>=(r);--i)
#define repn(i,n) for(int i=0;i<(n);++i)
#define sizc(x) ((int)x.size())
#define allc(x) x.begin(),x.end()
#define fir first
#define sec second
constexpr int N = 1e5+5;
int n,m;
ll a[N],b[N];
ll mx[N<<1],su[N<<1];
void upd(int u,int L,int R,int x){
if(L==R){mx[u]=b[L],su[u]=a[L];return;}
int M=L+R>>1,ls=M<<1,rs=M<<1|1;
if(x<=M)upd(ls,L,M,x);else upd(rs,M+1,R,x);
mx[u]=max(mx[ls],mx[rs]),su[u]=su[ls]+su[rs];
}
signed main(){
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin>>n;
rep(i,1,n)cin>>a[i];
rep(i,1,n)cin>>b[i],upd(1,1,n,i);
cin>>m;
while(m--){
int op;cin>>op;
if(op==1){int x;cin>>x,cin>>a[x];upd(1,1,n,x);}
if(op==2){int x;cin>>x,cin>>b[x];upd(1,1,n,x);}
if(op==3){
int l,r;cin>>l>>r;
ll v=0;
auto dfs=[&](auto &&self,int u,int L,int R)->void{
if(r<L||R<l)return;
if(L==R){v=max(v+a[L],v*b[L]);return;}
if(l<=L&&R<=r&&mx[u]==1){v+=su[u];return;}
int M=L+R>>1,ls=M<<1,rs=M<<1|1;
self(self,ls,L,M),self(self,rs,M+1,R);
};dfs(dfs,1,1,n);
cout<<v<<'\n';
}
}
}
Submission Info
Compile Error
Main.cpp: In function ‘void upd(int, int, int, int)’:
Main.cpp:25:12: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
25 | int M=L+R>>1,ls=M<<1,rs=M<<1|1;
| ~^~
Main.cpp: In instantiation of ‘main()::<lambda(auto:53&&, int, int, int)> [with auto:53 = main()::<lambda(auto:53&&, int, int, int)>&]’:
Main.cpp:53:18: required from here
Main.cpp:51:24: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
51 | int M=L+R>>1,ls=M<<1,rs=M<<1|1;
| ~^~
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
575 / 575 |
Status |
|
|
Set Name |
Test Cases |
Sample |
00_sample_00.txt, 00_sample_01.txt |
All |
00_sample_00.txt, 00_sample_01.txt, 01_internal_00.txt, 01_internal_01.txt, 01_internal_02.txt, 01_internal_03.txt, 01_internal_04.txt, 01_internal_05.txt, 01_internal_06.txt, 01_internal_07.txt, 01_internal_08.txt, 01_internal_09.txt, 01_internal_10.txt, 01_internal_11.txt, 01_internal_12.txt, 01_internal_13.txt, 01_internal_14.txt, 01_internal_15.txt, 01_internal_16.txt, 01_internal_17.txt, 01_internal_18.txt, 01_internal_19.txt, 01_internal_20.txt, 01_internal_21.txt, 01_internal_22.txt, 01_internal_23.txt, 01_internal_24.txt, 01_internal_25.txt, 01_internal_26.txt, 01_internal_27.txt, 01_internal_28.txt, 01_internal_29.txt, 01_internal_30.txt, 01_internal_31.txt, 01_internal_32.txt, 01_internal_33.txt, 01_internal_34.txt, 01_internal_35.txt, 01_internal_36.txt, 01_internal_37.txt, 01_internal_38.txt |
Case Name |
Status |
Exec Time |
Memory |
00_sample_00.txt |
AC |
1 ms |
3476 KB |
00_sample_01.txt |
AC |
1 ms |
3548 KB |
01_internal_00.txt |
AC |
31 ms |
4612 KB |
01_internal_01.txt |
AC |
24 ms |
3648 KB |
01_internal_02.txt |
AC |
104 ms |
8140 KB |
01_internal_03.txt |
AC |
104 ms |
8276 KB |
01_internal_04.txt |
AC |
104 ms |
8176 KB |
01_internal_05.txt |
AC |
106 ms |
8140 KB |
01_internal_06.txt |
AC |
107 ms |
8112 KB |
01_internal_07.txt |
AC |
105 ms |
8108 KB |
01_internal_08.txt |
AC |
108 ms |
8160 KB |
01_internal_09.txt |
AC |
106 ms |
8224 KB |
01_internal_10.txt |
AC |
108 ms |
8224 KB |
01_internal_11.txt |
AC |
104 ms |
8228 KB |
01_internal_12.txt |
AC |
50 ms |
8096 KB |
01_internal_13.txt |
AC |
51 ms |
8156 KB |
01_internal_14.txt |
AC |
50 ms |
8228 KB |
01_internal_15.txt |
AC |
50 ms |
8212 KB |
01_internal_16.txt |
AC |
50 ms |
8168 KB |
01_internal_17.txt |
AC |
50 ms |
8104 KB |
01_internal_18.txt |
AC |
90 ms |
8160 KB |
01_internal_19.txt |
AC |
91 ms |
8220 KB |
01_internal_20.txt |
AC |
92 ms |
8144 KB |
01_internal_21.txt |
AC |
90 ms |
8084 KB |
01_internal_22.txt |
AC |
88 ms |
8228 KB |
01_internal_23.txt |
AC |
91 ms |
8228 KB |
01_internal_24.txt |
AC |
92 ms |
8168 KB |
01_internal_25.txt |
AC |
91 ms |
8156 KB |
01_internal_26.txt |
AC |
92 ms |
8144 KB |
01_internal_27.txt |
AC |
91 ms |
8112 KB |
01_internal_28.txt |
AC |
193 ms |
8228 KB |
01_internal_29.txt |
AC |
107 ms |
8228 KB |
01_internal_30.txt |
AC |
104 ms |
8220 KB |
01_internal_31.txt |
AC |
105 ms |
8300 KB |
01_internal_32.txt |
AC |
105 ms |
8168 KB |
01_internal_33.txt |
AC |
103 ms |
8168 KB |
01_internal_34.txt |
AC |
106 ms |
8172 KB |
01_internal_35.txt |
AC |
104 ms |
8092 KB |
01_internal_36.txt |
AC |
107 ms |
8228 KB |
01_internal_37.txt |
AC |
106 ms |
8164 KB |
01_internal_38.txt |
AC |
105 ms |
8156 KB |