RT
如下的暴力代码
#include <cstdio>
#include <cmath>
#define fo(i,j,k) for(int i=j;i<=k;++i)
#define rtn return
typedef long long ll;
const int kMaxn = 2*100000 + 5;
ll a[kMaxn],n,f;
ll Query(int l,int r)
{
ll ans = 0;
fo(i,l,r)ans += a[i];
rtn ans;
}
void Add(int l,int r,ll delta)
{
fo(i,l,r)
a[i] += delta;
}
int main()
{
scanf("%d%d",&n,&f);
fo(i,1,n)
scanf("%lld",a+i);
fo(i,1,f)
{
int cmd,l,r;
ll k;
scanf("%d",&cmd);
switch(cmd)
{
case 1:
scanf("%d%d%lld",&l,&r,&k);
Add(l,r,k);
break;
case 2:
scanf("%lld",&k);
Add(1,1,k);
break;
case 3:
scanf("%lld",&k);
Add(1,1,-k);
break;
case 4:
scanf("%d%d",&l,&r);
printf("%lld\n",Query(l,r));
break;
case 5:
printf("%lld\n",Query(1,1));
}
}
rtn 0;
}
在开 O2 以后 AC 了。
最慢的点居然只跑了 287 ms?
Link