全RE 本地停止运行

P3372 【模板】线段树 1

@[Gohldg](/user/757214) 数组开小了,改大一点,就会发现,你TLE了
by Huge_Brain @ 2023-08-07 10:38:15


@[Huge_Brain](/user/380639) 还是RE
by Gohldg @ 2023-08-07 13:54:01


``` #include <iostream> #include <algorithm> using namespace std; #define int long long int a[500111]; int b[500111]; int c[500111]; int t[200][500111]; int n,m; int lowbit(int x){ return (x&(-x)); } int add(int x,int y,int k){ for(int i=x;i<=n;i+=lowbit(i)) t[k][i]+=y; } int sum(int k,int x){ int num=0; for(int i=x;i>=1;i-=lowbit(i)) num+=t[k][i]; return num; } void upd(int l,int r,int x){ add(0,l,x); add(0,r+1,-x); add(1,l,l*x); add(1,r+1,-(r+1)*x); } int ask(int n){ int a=sum(0,n); int b=sum(1,n); return (n+1)*a-b; } signed main(){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; b[i]=a[i]-a[i-1]; c[i]=c[i-1]+b[i]; t[0][i]=c[i]-c[i-lowbit(i)]; } for(int i=1;i<=n;i++){ c[i]=c[i-1]+i*b[i]; t[1][i]=c[i]-c[i-lowbit(i)]; } for(int i=1;i<=m;i++){ int d; cin>>d; if(d==1){ int x,y,k; cin>>x>>y>>k; upd(x,y,k); }else{ int x,y; cin>>x>>y; cout <<ask(y)-ask(x-1)<<endl; } } return 0; } ``` 这样TLE
by Huge_Brain @ 2023-08-07 14:20:34


@[Huge_Brain](/user/380639) ~~虽然是自己找出来的~~还是感谢,已AC
by Gohldg @ 2023-08-07 14:28:22


@[Huge_Brain](/user/380639) 其实暗藏红WA
by Gohldg @ 2023-08-07 14:29:00


|