社区讨论

90pts求调

P11213【MX-J8-T1】竹竿参与者 3已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@m2heb3ci
此快照首次捕获于
2024/10/20 17:38
去年
此快照最后确认于
2024/10/20 19:31
去年
查看原帖
如题,考虑了一根覆盖全部的情况了,还是 WA on #2
CPP
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,i,a,x,y,l,r,tl1,tr1,tl2,tr2,fl1,fr1,fl2,fr2,gx1,gx2;
int main(){
	cin>>n;
	for(i=1;i<=n;i++){
		cin>>a>>x;y=a-x;
		if(x>y)swap(x,y);
		tl1=-x;tr1=y;tl2=-y;tr2=x;
		gx1=gx2=fl1=fr1=fl2=fr2=0;
		if(tl1<l)gx1+=l-tl1,fl1=1;
		if(tr1>r)gx1+=tr1-r,fr1=1;
		if(tl2<l)gx2+=l-tl2,fl2=1;
		if(tr2>r)gx2+=tr2-r,fr2=1;
		if(gx1>0&&gx1>gx2){
			if(fl1)l=tl1;
			if(fr1)r=tr1;
			continue;
		}
		if(gx2>0&&gx2>gx1){
			if(fl2)l=tl2;
			if(fr2)r=tr2;
			continue;
		}
		if(gx1>0&&gx1==gx2)l=tl1,r=tr1;
	}
	cout<<max(0ll,r-l);
}

回复

6 条回复,欢迎继续交流。

正在加载回复...