求调!!!后四个MLE,前三个过了
查看原帖
求调!!!后四个MLE,前三个过了
1569593
zhangzhaoxuan2011楼主2025/8/2 14:10
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n;
cin>>n;

int p[n+1][n+1];
for(int i=1;i<=n;i++){
	for(int j=1;j<=2;j++){
		
		cin>>p[i][j];
	} 
} 
long long sum=1,num=0;
for(int i=1;i<=n;i++){
	long long a,b;

	a=p[i][1]-sum;
	b=p[i][2]-sum;

	if(a==0){
		num+=labs(b);
		sum+=b;
	
	}
	if(b==0){
		num+=labs(a);
		sum+=a;
	
	}
	if(a>b||b>a){
		if(a>0&&b<0||a<0&&b>0){
			long long c=labs(a);
			long long d=labs(b);
			if(c>d){
				swap(c,d);
				num+=c*2+d;
				sum+=a;
			
			}else{
				num+=c*2+d;
				sum+=b;
				
			}
		}
	   else	if(a>0&&b>0||a<0&&b<0){
			long long c=labs(a);
			long long d=labs(b);
			num+=max(c,d);
			
			if(c>d){
				sum+=a;
			}
			else{
				sum+=b;
			}
		}
	}
	 
  	

} 
int f=n-sum;
cout<<num+f+n-1;
	
	return 0;
}
2025/8/2 14:10
加载中...