50求调
查看原帖
50求调
1044428
crane_in_clear_sky楼主2024/9/1 17:00

题目

代码50分,总分80,有30分TLE

代码:

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+1;
long long n,x[N],y[N],ma,op;
inline int in()
{
	int k=0,f=1;
	char c=getchar();
	while(c<'0'||c>'9')
	{
		if(c=='-')f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9')k=k*10+c-'0',c=getchar();
	return k*f;
}
inline void write(int x){
	if (x < 0) putchar('-'), x = -x;
	if (x > 9) write(x / 10);
	putchar(x % 10 + '0');
}
int main(){
	n=in();
	op=in();
	for(int i=1;i<=n;i++) x[i]=in(),y[i]=in();
	if(op==1){
		for(int i=1;i<n;i++)
			for(int j=i+1;j<=n;j++){
				ma=max(ma,((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j])));
			}
		write(ma);
	}
	else{
		for(int i=1;i<n;i++)
			for(int j=i+1;j<=n;j++){
				ma=max(ma,abs(x[i]-x[j])+abs(y[i]-y[j]));
			}
		write(ma);
	}
	return 0;
}
2024/9/1 17:00
加载中...