re80分求调

P2367 语文成绩

~~线段树好题~~,数组开成5000005
by zyh0516_lucky @ 2023-10-13 22:50:18


N=5e5+5 哦,你写的1e5+900还是小了
by muhaoran123456 @ 2023-10-15 10:05:42


```c #include<bits/stdc++.h> using namespace std; int n,p,a[5000005],x,y,z,d[5000005]; int main(){ cin>>n>>p; for(int i=1;i<=n;i++){ cin>>a[i]; d[i] = a[i]-a[i-1]; } while(p--){ cin>>x>>y>>z; d[x]+=z; d[y+1]-=z; } int Min=INT_MAX; for(int i=1;i<=n;i++){ a[i] = d[i] + a[i-1]; Min = min(Min,a[i]); } cout<<Min; return 0; } ``` 因为a[]已经没啥大用了,所以把差分数组d[]转前缀和用a[]存着就好了,不用再开一个数组; ~~其实好像不需要用long long啊......~~
by small_beswk @ 2023-10-15 12:46:40


谢谢各位大佬,已AC
by G1yu @ 2023-10-22 08:13:39


|