libohan356218 @ 2024-04-20 09:23:54
#include <bits/stdc++.h>
using namespace std;
int const N = 1e6+10;
int n,m,a[N],b[N];
void tt(int l,int r,int c){
b[l]+=c;
b[r+1]-=c;
}
int main(){
cin>>n>>m;
for(int i = 1;i<=n;i++){
cin>>a[i];
tt(i,i,a[i]);
}
while(m--){
int l,r,c;
cin>>l>>r>>c;
tt(l,r,c);
}
for(int i = 1;i<=n;i++){
b[i]+=b[i-1];
}
sort(b,b+n);
cout<<b[1];
return 0;
}
by appear_hope @ 2024-04-20 09:55:50
错误点:
没读题 n 有
请问你会用 sort
吗?
优化点:
sort
会 TLE
,请问你知道 这是帮你该处的 AC 代码:
#include <bits/stdc++.h>
using namespace std;
int const N = 5e6 + 10;
int n, m, ans = INT_MAX, a[N], b[N];
void tt(int l, int r, int c){
b[l] += c, b[r + 1] -= c;
}
int main(){
cin >> n >> m;
for(int i = 1; i <= n; i++){
cin >> a[i];
tt(i, i, a[i]);
}
for(int l, r, c; m--; ){
cin >> l >> r >> c;
tt(l, r, c);
}
for(int i = 1; i <= n; i++){
b[i] += b[i - 1];
ans = min(ans, b[i]);
}
cout << ans;
return 0;
}
by libohan356218 @ 2024-04-20 10:46:42
@appear_hope 谢谢
by appear_hope @ 2024-04-20 23:13:08
不用谢