fork(2) download
  1. #include <bits/stdc++.h>
  2. #define int long long
  3. using namespace std;
  4. int arr[200050],n,q,lop1,lop2[200050],k;
  5. bool flag=false;
  6. signed main(){
  7. cin>>n;
  8. for(int i=1;i<=n;i++){
  9. cin>>arr[i];
  10. }
  11. cin>>q;
  12. for(int i=1;i<=q;i++){
  13. int op;
  14. cin>>op;
  15. if(op==1){
  16. cin>>k;
  17. lop1=i;
  18. }else if(op==2){
  19. int l,r;
  20. cin>>l>>r;
  21. if(lop1<=lop2[l]) arr[l]+=r;
  22. else arr[l]=k+r;
  23. lop2[l]=i;
  24. }else{
  25. int l;
  26. cin>>l;
  27. if(lop1<=lop2[l]) cout<<arr[l]<<"\n";
  28. else cout<<k<<"\n";
  29. }
  30. }
  31. }
Success #stdin #stdout 0s 5668KB
stdin
10
1 8 4 15 7 5 7 5 8 0
20
2 7 0
3 7
3 8
1 7
3 3
2 4 4
2 4 9
2 10 5
1 10
2 4 2
1 10
2 3 1
2 8 11
2 3 14
2 1 9
3 8
3 8
3 1
2 6 5
3 7
stdout
7
5
7
21
21
19
10