Submission #1911029
Source Code Expand
#include<set>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<ctime>
#include<bits/stdc++.h>
using namespace std;
#define pi acos(-1)
#define ll int
#define For(i,x,y) for(ll i=x;i<=y;++i)
#define FOr(i,x,y) for(ll i=x;i>=y;--i)
#define rep(i,x,y) for(ll i=x;i<y;++i)
ll read(){ ll x=0,f=1; char ch=getchar(); for(;ch<'0'||ch>'9';ch=getchar()) if (ch=='-') f=-1; for(;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0'; return x*f; }
void write(ll x){ if (x<0) putchar('-'),x=-x; if (x>=10) write(x/10); putchar(x%10+'0'); }
void writeln(ll x){ write(x); puts(""); }
const ll N=500010;
struct data{ ll x,y; }p[N];
ll c[N],x1,ya,x2,y2,ans,n,b[N];
void add(ll x,ll v){ for(;x<=n;x+=x&-x) c[x]=max(c[x],v); }
ll ask(ll x){ ll ans=-1e9; for(;x;x-=x&-x) ans=max(ans,c[x]); return ans; }
bool cmp(data a,data b){ return a.x==b.x?a.y<b.y:a.x<b.x; }
int main(){
memset(c,-60,sizeof c);
x1=read(); ya=read(); x2=read(); y2=read();
n=read(); For(i,1,n) p[i].x=read(),p[i].y=read();
if (x1>x2){ x1=-x1; x2=-x2; For(i,1,n) p[i].x=-p[i].x; }
if (ya>y2){ ya=-ya; y2=-y2; For(i,1,n) p[i].y=-p[i].y; }
p[++n]=(data){x1,ya}; p[++n]=(data){x2,y2};
For(i,1,n) b[i]=p[i].y; sort(b+1,b+n+1);
ll Y1=lower_bound(b+1,b+n+1,ya)-b,Y2=lower_bound(b+1,b+n+1,y2)-b;
For(i,1,n) p[i].y=lower_bound(b+1,b+n+1,p[i].y)-b;
ll ans=0;
sort(p+1,p+n+1,cmp);
For(i,1,n){
ll lis=ask(p[i].y)+1;
if (p[i].x==x1&&p[i].y==Y1) lis=0;
else if (p[i].x==x2&&p[i].y==Y2) ans=lis-1;
add(p[i].y,lis);
}
printf("%.20lf",(x2-x1+y2-ya)*100.0+(pi-4)*5*ans+(ans==min(y2-ya+1,x2-x1+1)&&ans)*pi*5);
}
Submission Info
Submission Time |
|
Task |
C - Fountain Walk |
User |
SHENZHEBEI |
Language |
C++14 (GCC 5.4.1) |
Score |
900 |
Code Size |
1666 Byte |
Status |
AC |
Exec Time |
95 ms |
Memory |
5248 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
900 / 900 |
Status |
|
|
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 |
2 ms |
2432 KB |
sample_02.txt |
AC |
2 ms |
2432 KB |
sample_03.txt |
AC |
2 ms |
2432 KB |
subtask_1_01.txt |
AC |
2 ms |
2432 KB |
subtask_1_02.txt |
AC |
2 ms |
2432 KB |
subtask_1_03.txt |
AC |
2 ms |
2432 KB |
subtask_1_04.txt |
AC |
2 ms |
2432 KB |
subtask_1_05.txt |
AC |
2 ms |
2432 KB |
subtask_1_06.txt |
AC |
2 ms |
2432 KB |
subtask_1_07.txt |
AC |
2 ms |
2432 KB |
subtask_1_08.txt |
AC |
2 ms |
2432 KB |
subtask_1_09.txt |
AC |
31 ms |
4736 KB |
subtask_1_10.txt |
AC |
68 ms |
4992 KB |
subtask_1_11.txt |
AC |
17 ms |
4608 KB |
subtask_1_12.txt |
AC |
92 ms |
5248 KB |
subtask_1_13.txt |
AC |
72 ms |
4992 KB |
subtask_1_14.txt |
AC |
32 ms |
4736 KB |
subtask_1_15.txt |
AC |
16 ms |
4608 KB |
subtask_1_16.txt |
AC |
92 ms |
5248 KB |
subtask_1_17.txt |
AC |
59 ms |
4864 KB |
subtask_1_18.txt |
AC |
46 ms |
4864 KB |
subtask_1_19.txt |
AC |
44 ms |
4864 KB |
subtask_1_20.txt |
AC |
89 ms |
5248 KB |
subtask_1_21.txt |
AC |
91 ms |
5248 KB |
subtask_1_22.txt |
AC |
92 ms |
5248 KB |
subtask_1_23.txt |
AC |
91 ms |
5248 KB |
subtask_1_24.txt |
AC |
2 ms |
2432 KB |
subtask_1_25.txt |
AC |
2 ms |
2432 KB |
subtask_1_26.txt |
AC |
2 ms |
2432 KB |
subtask_1_27.txt |
AC |
2 ms |
2432 KB |
subtask_1_28.txt |
AC |
90 ms |
5248 KB |
subtask_1_29.txt |
AC |
95 ms |
5248 KB |
subtask_1_30.txt |
AC |
95 ms |
5248 KB |
subtask_1_31.txt |
AC |
65 ms |
5248 KB |
subtask_1_32.txt |
AC |
51 ms |
5248 KB |
subtask_1_33.txt |
AC |
51 ms |
5248 KB |
subtask_1_34.txt |
AC |
54 ms |
5248 KB |
subtask_1_35.txt |
AC |
62 ms |
5248 KB |
subtask_1_36.txt |
AC |
85 ms |
5248 KB |
subtask_1_37.txt |
AC |
70 ms |
5248 KB |
subtask_1_38.txt |
AC |
64 ms |
5248 KB |
subtask_1_39.txt |
AC |
67 ms |
5248 KB |
subtask_1_40.txt |
AC |
71 ms |
5248 KB |
subtask_1_41.txt |
AC |
57 ms |
5248 KB |