社区讨论
赛时代码Wa最后一个点求调
P8551 Bassline参与者 4已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @lo7yyiiu
- 此快照首次捕获于
- 2023/10/27 10:03 2 年前
- 此快照最后确认于
- 2023/10/27 10:03 2 年前
rt
CPP#include<bits/stdc++.h>
using namespace std;
int sum[300005],visl[300005],visr[300005],n,l=30000005,r,s,t,ans,cnt;
int main() {
cin>>n;
for(int i=1; i<=n; i++) {
cin>>l>>r;
visl[l]=1;
visr[r]=1;
s=min(l,s);
t=max(t,r);
sum[l]++;
sum[r+1]--;
}
l=0;
r=0;
for(int i=s; i<=t; i++) {
sum[i]+=sum[i-1];
if(cnt==0&&sum[i]>0&&!(visl[i]&&visr[i])&&!visr[i]) {
cnt=sum[i];
l=i;
continue;
}
if(visl[i]||visr[i]) {
if((visl[i]&&visr[i])||visl[i])
ans=max(ans,(i-1-l)*cnt);
else
ans=max(ans,(i-l)*cnt);
// cout<<i<<" "<<cnt<<" "<<i-l<<endl;
cnt=0;
if(visl[i]&&!visr[i]) {
l=i;
cnt=sum[i];
}
}
}
cout<<ans;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...