#include<bits/stdc++.h>
using namespace std;
#define x first
#define y second
typedef pair<int,int> PII;
typedef long long ll;
typedef unsigned long long ull;
typedef unsigned int uint;
typedef vector<string> VS;
typedef vector<int> VI;
typedef vector<vector<int>> VVI;
const int N = 500010;
ll c[N];
int n,m;
inline int lowbit(int x) {return x&-x;}
inline void update(int x,int d) {while(x<=n){c[x] += d, x += lowbit(x);}}
inline ll sum(int x) {ll res = 0;while(x){res += c[x], x -= lowbit(x);}return res;}
void solve()
{
cin>>n>>m;
for(int i=1;i<=n;++i)
{
int a;
cin>>a;
update(i,a);
update(i+1,-a);
}
for(int i=0;i<m;++i)
{
int op,x,y,d;
cin>>op;
if(op&1)
{
cin>>x>>y>>d;
update(x,d);
update(y+1,-d);
}
else
{
cin>>x;
cout<<sum(x)<<'\n';
}
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int T = 1;
//cin>>T;
while(T--)
{
solve();
}
}
随笔- 181
文章- 2
评论- 0
阅读-
6702
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库