Submission #2291432


Source Code Expand

#include<bits/stdc++.h>
#define F(i,a,b) for(int i=a;i<=(b);++i)
#define F2(i,a,b) for(int i=a;i<(b);++i)
#define dF(i,a,b) for(int i=a;i>=(b);--i)
#define dF2(i,a,b) for(int i=a;i>(b);--i)
#define eF(i,u) for(int i=h[u];i;i=nxt[i])
#define ll long long
#define ld double
using namespace std;

ll Sx,Sy,Tx,Ty;
ll ansi,ansp=0;
int n,cnt,P[200001],Ans;
ll x[200001],y[200001];
ll X[200001],Y[200001],tmp[200001];
ll t[200001];
inline bool cmp(int p1,int p2){return X[p1]<X[p2];}

inline int BS(ll k){
	int l=0,r=cnt,mid,ans;
	while(l<=r){
		mid=l+r>>1;
		if(tmp[mid]<k) ans=mid, l=mid+1;
		else r=mid-1;
	}
	return ans;
}

int main(){
	scanf("%lld%lld%lld%lld",&Sx,&Sy,&Tx,&Ty);
	ansi=abs(Sx-Tx)+abs(Sy-Ty); ansi*=10;
	scanf("%d",&n);
	F(i,1,n) scanf("%lld%lld",x+i,y+i);
	if(Sx==Tx){
		if(Sy>Ty) swap(Sy,Ty);
		F(i,1,n) if(x[i]==Sx&&Sy<y[i]&&y[i]<Ty) ansi-=2, ansp+=10;
		printf("LOLOLOL%.15lf",10.*ansi+acos(-1)*ansp); return 0;
	}
	if(Sy==Ty){
		if(Sx>Tx) swap(Sx,Tx);
		F(i,1,n) if(y[i]==Sy&&Sx<x[i]&&x[i]<Tx) ansi-=2, ansp+=10;
		printf("%lf",0/0); return 0;
	}
	if(Sx>Tx) swap(Sx,Tx), swap(Sy,Ty);
	if(Sy<Ty)
		F(i,1,n) if(Sx<=x[i]&&x[i]<=Tx&&Sy<=y[i]&&y[i]<=Ty) X[++cnt]=x[i], Y[cnt]=y[i], P[cnt]=cnt;
	if(Sy>Ty)
		F(i,1,n) if(Sx<=x[i]&&x[i]<=Tx&&Ty<=y[i]&&y[i]<=Sy) X[++cnt]=x[i], Y[cnt]=y[i], P[cnt]=cnt;
	F(i,1,cnt) t[i]=Y[i];
	sort(t+1,t+cnt+1);
	F(i,1,cnt) Y[i]=lower_bound(t+1,t+cnt+1,Y[i])-t;
	sort(P+1,P+cnt+1,cmp);
	if(Sy<Ty){
		memset(tmp,0x3f,sizeof tmp);
		tmp[0]=0;
		F(i,1,cnt){
			int k=lower_bound(tmp,tmp+cnt+1,Y[P[i]])-tmp;
			tmp[k]=min(tmp[k],Y[P[i]]);
			Ans=max(Ans,k);
		}
		if(Ans==min(abs(Sx-Tx),abs(Sy-Ty))+1) printf("%.15lf",10.*(ansi-2*Ans)+acos(-1)*5*Ans+5*acos(-1));
		printf("%.15lf",10.*(ansi-2*Ans)+acos(-1)*5*Ans);
	}
	else{
		F(i,1,cnt){
			int k=BS(Y[P[i]]);
			tmp[k+1]=max(tmp[k+1],Y[P[i]]);
			Ans=max(Ans,k+1);
		}
		if(Ans==min(abs(Sx-Tx),abs(Sy-Ty))+1) printf("%.15lf",10.*(ansi-2*Ans)+acos(-1)*5*Ans+5*acos(-1));
		printf("%.15lf",10.*(ansi-2*Ans)+acos(-1)*5*Ans);
	}
	return 0;
}

Submission Info

Submission Time
Task C - Fountain Walk
User luogu_bot2
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2101 Byte
Status WA
Exec Time 119 ms
Memory 10368 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:42:17: warning: division by zero [-Wdiv-by-zero]
   printf("%lf",0/0); return 0;
                 ^
./Main.cpp:42:19: warning: format ‘%lf’ expects argument of type ‘double’, but argument 2 has type ‘int’ [-Wformat=]
   printf("%lf",0/0); return 0;
                   ^
./Main.cpp:30:43: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld%lld%lld%lld",&Sx,&Sy,&Tx,&Ty);
                                           ^
./Main.cpp:32:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
                ^
./Main.cpp:33:36: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  F(i,1,n) scanf("%lld%lld",x+i,y+i);
                                    ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 900
Status
AC × 2
WA × 1
AC × 27
WA × 20
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt
Case Name Status Exec Time Memory
sample_01.txt AC 3 ms 6912 KB
sample_02.txt AC 2 ms 2304 KB
sample_03.txt WA 2 ms 2304 KB
subtask_1_01.txt AC 3 ms 6912 KB
subtask_1_02.txt WA 2 ms 6400 KB
subtask_1_03.txt WA 2 ms 6400 KB
subtask_1_04.txt AC 3 ms 6912 KB
subtask_1_05.txt AC 2 ms 2304 KB
subtask_1_06.txt AC 2 ms 2304 KB
subtask_1_07.txt AC 2 ms 2304 KB
subtask_1_08.txt AC 2 ms 2304 KB
subtask_1_09.txt WA 15 ms 2432 KB
subtask_1_10.txt WA 31 ms 7680 KB
subtask_1_11.txt WA 10 ms 6912 KB
subtask_1_12.txt WA 119 ms 10368 KB
subtask_1_13.txt WA 32 ms 3200 KB
subtask_1_14.txt WA 16 ms 6656 KB
subtask_1_15.txt WA 9 ms 6912 KB
subtask_1_16.txt WA 117 ms 10368 KB
subtask_1_17.txt AC 27 ms 7552 KB
subtask_1_18.txt WA 22 ms 6784 KB
subtask_1_19.txt AC 22 ms 7296 KB
subtask_1_20.txt AC 116 ms 10368 KB
subtask_1_21.txt AC 117 ms 10368 KB
subtask_1_22.txt WA 110 ms 9984 KB
subtask_1_23.txt WA 110 ms 9984 KB
subtask_1_24.txt WA 2 ms 2304 KB
subtask_1_25.txt WA 2 ms 2304 KB
subtask_1_26.txt WA 2 ms 2304 KB
subtask_1_27.txt WA 2 ms 2304 KB
subtask_1_28.txt AC 40 ms 8192 KB
subtask_1_29.txt WA 43 ms 7680 KB
subtask_1_30.txt AC 119 ms 10368 KB
subtask_1_31.txt AC 64 ms 10368 KB
subtask_1_32.txt AC 72 ms 10368 KB
subtask_1_33.txt AC 71 ms 10368 KB
subtask_1_34.txt AC 69 ms 10368 KB
subtask_1_35.txt AC 80 ms 10368 KB
subtask_1_36.txt AC 104 ms 10368 KB
subtask_1_37.txt AC 83 ms 10368 KB
subtask_1_38.txt AC 76 ms 10368 KB
subtask_1_39.txt AC 86 ms 10368 KB
subtask_1_40.txt AC 74 ms 10368 KB
subtask_1_41.txt AC 73 ms 10368 KB