电梯(正常)
2024-10-23 20:18:50
~#include<bits/stdc++.h>
using namespace std;
int n, m, a, b, pos;
long long ans = 1e18L, sum, pre[500010];
long long suf[500010], pre1[500010], suf1[500010];
int main(){
cin >> n >> m;
while(m--)
{
cin >> a >> b;
pre[a - 1] += 2;
suf[b + 1] += 2;
sum += (b - a) * 2;
}
for(int i = n; i >= 1; i--)
{
pre[i] += pre[i + 1];
pre1[i] = pre1[i + 1] + pre[i];
}
for(int i = 1; i <= n; i++)
{
suf[i] += suf[i - 1];
suf1[i] = suf1[i - 1] + suf[i];
if(suf1[i] + pre1[i] < ans)
{
pos = i;
ans = suf1[i] + pre1[i];
}
}
cout << pos << " " << ans + sum << '\n';
return 0;
}
我们会审查剪贴板内容,并对发布不合适内容的同学进行相应的处理