Submission #1794718


Source Code Expand

#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
const int N=200200,oo=1000000000;
const double pi=acos(-1.0);
int i,j,k,n,m,fgx,fgy,ch,ff,ans;
int lis[N];
double Ans;
struct cc {
	int x,y;
	bool operator < (const cc &n) const {
		return x<n.x;
	}
} S,T,t,A[N];
void R(int &x) {
	ff=x=0;ch=getchar();
	while (ch<'0' || '9'<ch) { if (ch=='-') ff=1;ch=getchar();}
	while ('0'<=ch && ch<='9') x=x*10+ch-'0',ch=getchar();
	if (ff) x=-x;
}
int main() {
	R(S.x);R(S.y);R(T.x);R(T.y);
	if (S.x>T.x) fgx=-1,S.x=-S.x,T.x=-T.x;
	else fgx=1;
	if (S.y>T.y) fgy=-1,S.y=-S.y,T.y=-T.y;
	else fgy=1;
	R(n);
	for (i=1;i<=n;i++) {
		R(t.x);R(t.y);
		t.x*=fgx;
		t.y*=fgy;
		if (S.x<=t.x && t.x<=T.x && S.y<=t.y && t.y<=T.y) A[++m]=t;
	}
	sort(A+1,A+m+1);
	ans=0;
	lis[0]=-oo;
	for (i=1;i<=m;i++) {
		if (A[i].y>lis[ans]) lis[++ans]=A[i].y;
		else {
			int l=0,r=ans,mid;
			while (l<r) {
				mid=(l+r+1)>>1;
				if (lis[mid]<A[i].y) l=mid;
				else r=mid-1;
			}
			lis[l+1]=A[i].y;
		}
	}
	Ans=(T.x+T.y-S.x-S.y)*100.0;
	Ans+=5.0*pi*ans-20.0*ans;
	if (T.x-S.x+1==ans || T.y-S.y+1==ans) Ans+=5.0*pi;
	printf("%.15lf\n",Ans);
}

Submission Info

Submission Time
Task C - Fountain Walk
User jiyutian
Language C++14 (GCC 5.4.1)
Score 900
Code Size 1185 Byte
Status AC
Exec Time 52 ms
Memory 2560 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 3
AC × 47
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 1 ms 128 KB
sample_02.txt AC 1 ms 128 KB
sample_03.txt AC 1 ms 128 KB
subtask_1_01.txt AC 1 ms 128 KB
subtask_1_02.txt AC 1 ms 128 KB
subtask_1_03.txt AC 1 ms 128 KB
subtask_1_04.txt AC 1 ms 128 KB
subtask_1_05.txt AC 1 ms 128 KB
subtask_1_06.txt AC 1 ms 128 KB
subtask_1_07.txt AC 1 ms 128 KB
subtask_1_08.txt AC 1 ms 128 KB
subtask_1_09.txt AC 10 ms 128 KB
subtask_1_10.txt AC 21 ms 128 KB
subtask_1_11.txt AC 6 ms 128 KB
subtask_1_12.txt AC 43 ms 2560 KB
subtask_1_13.txt AC 23 ms 128 KB
subtask_1_14.txt AC 11 ms 128 KB
subtask_1_15.txt AC 5 ms 128 KB
subtask_1_16.txt AC 43 ms 2560 KB
subtask_1_17.txt AC 19 ms 128 KB
subtask_1_18.txt AC 15 ms 128 KB
subtask_1_19.txt AC 15 ms 128 KB
subtask_1_20.txt AC 40 ms 2560 KB
subtask_1_21.txt AC 43 ms 2560 KB
subtask_1_22.txt AC 43 ms 2560 KB
subtask_1_23.txt AC 43 ms 2560 KB
subtask_1_24.txt AC 1 ms 128 KB
subtask_1_25.txt AC 1 ms 128 KB
subtask_1_26.txt AC 1 ms 128 KB
subtask_1_27.txt AC 1 ms 128 KB
subtask_1_28.txt AC 23 ms 256 KB
subtask_1_29.txt AC 29 ms 256 KB
subtask_1_30.txt AC 52 ms 1664 KB
subtask_1_31.txt AC 25 ms 1792 KB
subtask_1_32.txt AC 25 ms 2560 KB
subtask_1_33.txt AC 27 ms 2176 KB
subtask_1_34.txt AC 26 ms 1664 KB
subtask_1_35.txt AC 43 ms 1792 KB
subtask_1_36.txt AC 42 ms 1664 KB
subtask_1_37.txt AC 35 ms 2304 KB
subtask_1_38.txt AC 38 ms 2176 KB
subtask_1_39.txt AC 39 ms 2048 KB
subtask_1_40.txt AC 35 ms 2176 KB
subtask_1_41.txt AC 32 ms 2176 KB