Submission #2011447
Source Code Expand
#include<bits/stdc++.h>
#define L long long
#define vi vector<int>
#define pb push_back
#define pi pair<int,int>
#define pii pair<pi,int>
#define aa first
#define bb second
#define xx aa.aa
#define yy aa.bb
#define zz bb
#define mp make_pair
#define mpp(a,b,c) mp(mp(a,b),c)
using namespace std;
const double r=acos(-1)*5;
int n,sx,sy,tx,ty,x,y,f[200010],b[200010],c[200010];
pi a[200010];
inline int maxx(int i)
{
int k=0;
for(;i;i^=i&-i)
k=max(k,f[i]);
return k;
}
inline void mdf(int i,int k)
{
for(;i<=n;i+=i&-i)
f[i]=max(f[i],k);
}
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
int i,j,k,l;
scanf("%d%d%d%d",&sx,&sy,&tx,&ty);
if(sx>tx)
{
x=1;
sx*=-1;
tx*=-1;
}
if(sy>ty)
{
y=1;
sy*=-1;
ty*=-1;
}
scanf("%d",&n);
for(i=1,l=0;i<=n;i++)
{
scanf("%d%d",&j,&k);
if(x)
j*=-1;
if(y)
k*=-1;
if(sx<=j && j<=tx && sy<=k && k<=ty)
{
a[++l]=mp(j,k);
b[l]=j;
c[l]=k;
}
}
n=l;
sort(b+1,b+n+1);
sort(c+1,c+n+1);
for(i=1;i<=n;i++)
{
a[i].aa=lower_bound(b+1,b+n+1,a[i].aa)-b;
a[i].bb=lower_bound(c+1,c+n+1,a[i].bb)-c;
}
sort(a+1,a+n+1);
if(sx==tx || sy==ty)
{
printf("%.15lf\n",(tx-sx+ty-sy)*100.0+(n?(2*r-20):0));
return 0;
}
for(i=1;i<=n;i++)
{
k=maxx(a[i].bb);
mdf(a[i].bb,k+1);
}
k=maxx(n);
printf("%.15lf\n",(tx-sx+ty-sy)*100.0+k*(r-20)+(k==min(tx-sx+1,ty-sy+1)?r:0));
return 0;
}
Submission Info
| Submission Time |
|
| Task |
C - Fountain Walk |
| User |
fateice |
| Language |
C++14 (GCC 5.4.1) |
| Score |
900 |
| Code Size |
1554 Byte |
| Status |
AC |
| Exec Time |
148 ms |
| Memory |
4096 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:35:35: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d%d",&sx,&sy,&tx,&ty);
^
./Main.cpp:48:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&n);
^
./Main.cpp:51:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d",&j,&k);
^
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 KiB |
| sample_02.txt |
AC |
1 ms |
256 KiB |
| sample_03.txt |
AC |
1 ms |
256 KiB |
| subtask_1_01.txt |
AC |
1 ms |
256 KiB |
| subtask_1_02.txt |
AC |
1 ms |
256 KiB |
| subtask_1_03.txt |
AC |
1 ms |
256 KiB |
| subtask_1_04.txt |
AC |
1 ms |
256 KiB |
| subtask_1_05.txt |
AC |
1 ms |
256 KiB |
| subtask_1_06.txt |
AC |
1 ms |
256 KiB |
| subtask_1_07.txt |
AC |
1 ms |
256 KiB |
| subtask_1_08.txt |
AC |
1 ms |
256 KiB |
| subtask_1_09.txt |
AC |
15 ms |
256 KiB |
| subtask_1_10.txt |
AC |
30 ms |
256 KiB |
| subtask_1_11.txt |
AC |
8 ms |
256 KiB |
| subtask_1_12.txt |
AC |
145 ms |
4096 KiB |
| subtask_1_13.txt |
AC |
32 ms |
256 KiB |
| subtask_1_14.txt |
AC |
15 ms |
256 KiB |
| subtask_1_15.txt |
AC |
8 ms |
256 KiB |
| subtask_1_16.txt |
AC |
144 ms |
4096 KiB |
| subtask_1_17.txt |
AC |
26 ms |
256 KiB |
| subtask_1_18.txt |
AC |
21 ms |
256 KiB |
| subtask_1_19.txt |
AC |
21 ms |
256 KiB |
| subtask_1_20.txt |
AC |
142 ms |
4096 KiB |
| subtask_1_21.txt |
AC |
144 ms |
4096 KiB |
| subtask_1_22.txt |
AC |
144 ms |
4096 KiB |
| subtask_1_23.txt |
AC |
145 ms |
4096 KiB |
| subtask_1_24.txt |
AC |
1 ms |
256 KiB |
| subtask_1_25.txt |
AC |
1 ms |
256 KiB |
| subtask_1_26.txt |
AC |
1 ms |
256 KiB |
| subtask_1_27.txt |
AC |
1 ms |
256 KiB |
| subtask_1_28.txt |
AC |
39 ms |
384 KiB |
| subtask_1_29.txt |
AC |
42 ms |
384 KiB |
| subtask_1_30.txt |
AC |
148 ms |
4096 KiB |
| subtask_1_31.txt |
AC |
72 ms |
4096 KiB |
| subtask_1_32.txt |
AC |
73 ms |
4096 KiB |
| subtask_1_33.txt |
AC |
72 ms |
4096 KiB |
| subtask_1_34.txt |
AC |
75 ms |
4096 KiB |
| subtask_1_35.txt |
AC |
82 ms |
4096 KiB |
| subtask_1_36.txt |
AC |
108 ms |
4096 KiB |
| subtask_1_37.txt |
AC |
82 ms |
4096 KiB |
| subtask_1_38.txt |
AC |
78 ms |
4096 KiB |
| subtask_1_39.txt |
AC |
86 ms |
4096 KiB |
| subtask_1_40.txt |
AC |
77 ms |
4096 KiB |
| subtask_1_41.txt |
AC |
76 ms |
4096 KiB |