1 条题解

  • 0
    @ 2026-10-18 23:39:02

    信号

    思路与复杂度

    在差分数组的 l 处加 x,r+1 处减 x;最后求前缀和还原强度。只在严格大于目前最大值时更新位置,保证并列时取最早位置。时间 O(n+m),空间 O(n),累加值使用64位整数。

    正确性与边界

    每次区间增量在前缀和中恰好作用于闭区间内。

    参考代码

    #include<bits/stdc++.h>
    using namespace std;int main(){ios::sync_with_stdio(0);cin.tie(0);int n,m;cin>>n>>m;vector<long long>d(n+2);while(m--){int l,r;long long x;cin>>l>>r>>x;d[l]+=x;d[r+1]-=x;}long long c=0,b=-1;int p=1;for(int i=1;i<=n;i++){c+=d[i];if(c>b)b=c,p=i;}cout<<b<<" "<<p<<"\n";}
    
    • 1

    信息

    ID
    847
    时间
    1000ms
    内存
    512MiB
    难度
    普及−
    标签
    递交数
    0
    已通过
    0
    上传者