Submission #2295457
Source Code Expand
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
using namespace std;
const double PI=acos(-1);
struct xxx{int x,y;}d[201000];
int a[201000],s[201000];
bool cmp(xxx a,xxx b){return a.x<b.x;}
int LIS1(int n)
{
int sz=0;
for(int i=1;i<=n;i++)
{
if(sz==0||a[i]>s[sz])s[++sz]=a[i];
else
{
int l=1,r=sz+1;
while(l<r)
{
int mid=(l+r)>>1;
if(s[mid]<a[i])l=mid+1;
else r=mid;
}
s[r]=a[i];
}
}
return sz;
}
int LIS2(int n)
{
int sz=0;
for(int i=1;i<=n;i++)
{
if(sz==0||a[i]<s[sz])s[++sz]=a[i];
else
{
int l=1,r=sz+1;
while(l<r)
{
int mid=(l+r)>>1;
if(s[mid]>a[i])l=mid+1;
else r=mid;
}
s[r]=a[i];
}
}
return sz;
}
int main()
{
int sx,sy,tx,ty;scanf("%d%d%d%d",&sx,&sy,&tx,&ty);bool ok=0;
if(sx>tx)swap(sx,tx),swap(sy,ty);if(sy>ty)ok=1;
int n;scanf("%d",&n);
for(int i=1;i<=n;i++){int X,Y;scanf("%d%d",&X,&Y);d[i].x=X;d[i].y=Y;}
sort(d+1,d+n+1,cmp);int cnt=0;//for(int i=1;i<=n;i++)cout<<d[i].x<<" "<<d[i].y<<endl;
for(int i=1;i<=n;i++)if(d[i].x<sx||d[i].x>tx||d[i].y<min(sy,ty)||d[i].y>max(sy,ty))continue;else a[++cnt]=d[i].y;
// for(int i=1;i<=cnt;i++)cout<<a[i];
int sz=0;if(ok==0)sz=LIS1(cnt);else sz=LIS2(cnt);
long long ans1=1ll*(tx-sx+max(sy,ty)-min(sy,ty))*100ll,ans2=0;
if(sz==min(tx-sx,max(sy,ty)-min(sy,ty))+1)ans2+=5;
ans2+=sz*5;ans1-=sz*20;
printf("%.15lf",(double)ans1+(double)ans2*PI);
return 0;
}
Submission Info
Submission Time
2018-04-02 18:39:07+0900
Task
C - Fountain Walk
User
luogu_bot2
Language
C++ (GCC 5.4.1)
Score
900
Code Size
1482 Byte
Status
AC
Exec Time
70 ms
Memory
3328 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:52:51: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int sx,sy,tx,ty;scanf("%d%d%d%d",&sx,&sy,&tx,&ty);bool ok=0;
^
./Main.cpp:54:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int n;scanf("%d",&n);
^
./Main.cpp:55:51: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
for(int i=1;i<=n;i++){int X,Y;scanf("%d%d",&X,&Y);d[i].x=X;d[i].y=Y;}
^
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
1 ms
256 KB
sample_02.txt
AC
1 ms
256 KB
sample_03.txt
AC
1 ms
256 KB
subtask_1_01.txt
AC
1 ms
256 KB
subtask_1_02.txt
AC
1 ms
256 KB
subtask_1_03.txt
AC
1 ms
256 KB
subtask_1_04.txt
AC
1 ms
256 KB
subtask_1_05.txt
AC
1 ms
256 KB
subtask_1_06.txt
AC
1 ms
256 KB
subtask_1_07.txt
AC
1 ms
256 KB
subtask_1_08.txt
AC
1 ms
256 KB
subtask_1_09.txt
AC
21 ms
768 KB
subtask_1_10.txt
AC
43 ms
1408 KB
subtask_1_11.txt
AC
11 ms
512 KB
subtask_1_12.txt
AC
60 ms
3328 KB
subtask_1_13.txt
AC
46 ms
1408 KB
subtask_1_14.txt
AC
21 ms
768 KB
subtask_1_15.txt
AC
11 ms
512 KB
subtask_1_16.txt
AC
60 ms
3328 KB
subtask_1_17.txt
AC
38 ms
1280 KB
subtask_1_18.txt
AC
30 ms
1024 KB
subtask_1_19.txt
AC
29 ms
1024 KB
subtask_1_20.txt
AC
58 ms
3328 KB
subtask_1_21.txt
AC
60 ms
3328 KB
subtask_1_22.txt
AC
60 ms
3328 KB
subtask_1_23.txt
AC
60 ms
3328 KB
subtask_1_24.txt
AC
1 ms
256 KB
subtask_1_25.txt
AC
1 ms
256 KB
subtask_1_26.txt
AC
1 ms
256 KB
subtask_1_27.txt
AC
1 ms
256 KB
subtask_1_28.txt
AC
56 ms
1792 KB
subtask_1_29.txt
AC
59 ms
1792 KB
subtask_1_30.txt
AC
70 ms
2560 KB
subtask_1_31.txt
AC
46 ms
2560 KB
subtask_1_32.txt
AC
47 ms
3328 KB
subtask_1_33.txt
AC
50 ms
2944 KB
subtask_1_34.txt
AC
49 ms
2560 KB
subtask_1_35.txt
AC
60 ms
2688 KB
subtask_1_36.txt
AC
60 ms
2560 KB
subtask_1_37.txt
AC
54 ms
3200 KB
subtask_1_38.txt
AC
56 ms
2944 KB
subtask_1_39.txt
AC
58 ms
2816 KB
subtask_1_40.txt
AC
53 ms
2944 KB
subtask_1_41.txt
AC
52 ms
2944 KB