Submission #3863475


Source Code Expand

#include <cmath>
#include <cstdio>
#include <cstring>
#include <algorithm>

int read()
{
  int x=0,f=1;
  char ch=getchar();
  while((ch<'0')||(ch>'9'))
    {
      if(ch=='-')
        {
          f=-f;
        }
      ch=getchar();
    }
  while((ch>='0')&&(ch<='9'))
    {
      x=x*10+ch-'0';
      ch=getchar();
    }
  return x*f;
}

const int maxn=200000;
const int maxv=99999999;
const double pi=acos(-1);
const double D=11.4159265358979323846264338328;
const double K=-4.2920367320510338076867830836;

struct point
{
  int x,y;

  bool operator <(const point &other) const
  {
    return x<other.x;
  }
};

int n,a[maxn+10],f[maxn+10],sx,sy,tx,ty;
point p[maxn+10];

int main()
{
  sx=read();
  sy=read();
  tx=read();
  ty=read();
  n=read();
  for(int i=1; i<=n; ++i)
    {
      p[i].x=read();
      p[i].y=read();
    }
  if(sx>tx)
    {
      std::swap(sx,tx);
      std::swap(sy,ty);
    }
  if(sy>ty)
    {
      sy=maxv-sy;
      ty=maxv-ty;
      for(int i=1; i<=n; ++i)
        {
          p[i].y=maxv-p[i].y;
        }
    }
  std::sort(p+1,p+n+1);
  int tot=0;
  for(int i=1; i<=n; ++i)
    {
      if((p[i].x>=sx)&&(p[i].y>=sy)&&(p[i].x<=tx)&&(p[i].y<=ty))
        {
          a[++tot]=p[i].y;
        }
    }
  int cnt=0;
  memset(f,63,sizeof f);
  for(int i=1; i<=tot; ++i)
    {
      int pos=std::lower_bound(f+1,f+cnt+1,a[i])-f;
      f[pos]=a[i];
      if(pos>cnt)
        {
          ++cnt;
        }
    }
  double ans=100.0*(tx-sx+ty-sy);
  if(cnt==std::min(tx-sx,ty-sy)+1)
    {
      ans+=(cnt-1)*K+D;
    }
  else
    {
      ans+=cnt*K;
    }
  printf("%.15lf\n",ans);
  return 0;
}

Submission Info

Submission Time
Task C - Fountain Walk
User luogu_bot5
Language C++ (GCC 5.4.1)
Score 900
Code Size 1617 Byte
Status AC
Exec Time 51 ms
Memory 3328 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 896 KB
sample_02.txt AC 1 ms 896 KB
sample_03.txt AC 1 ms 896 KB
subtask_1_01.txt AC 1 ms 896 KB
subtask_1_02.txt AC 1 ms 896 KB
subtask_1_03.txt AC 1 ms 896 KB
subtask_1_04.txt AC 1 ms 896 KB
subtask_1_05.txt AC 1 ms 896 KB
subtask_1_06.txt AC 1 ms 896 KB
subtask_1_07.txt AC 1 ms 896 KB
subtask_1_08.txt AC 1 ms 896 KB
subtask_1_09.txt AC 14 ms 1536 KB
subtask_1_10.txt AC 30 ms 2048 KB
subtask_1_11.txt AC 8 ms 1280 KB
subtask_1_12.txt AC 48 ms 3328 KB
subtask_1_13.txt AC 32 ms 2176 KB
subtask_1_14.txt AC 15 ms 1536 KB
subtask_1_15.txt AC 7 ms 1152 KB
subtask_1_16.txt AC 48 ms 3328 KB
subtask_1_17.txt AC 26 ms 1920 KB
subtask_1_18.txt AC 21 ms 1664 KB
subtask_1_19.txt AC 20 ms 1664 KB
subtask_1_20.txt AC 45 ms 3328 KB
subtask_1_21.txt AC 48 ms 3328 KB
subtask_1_22.txt AC 48 ms 3328 KB
subtask_1_23.txt AC 48 ms 3328 KB
subtask_1_24.txt AC 1 ms 896 KB
subtask_1_25.txt AC 1 ms 896 KB
subtask_1_26.txt AC 1 ms 896 KB
subtask_1_27.txt AC 1 ms 896 KB
subtask_1_28.txt AC 36 ms 2560 KB
subtask_1_29.txt AC 42 ms 2560 KB
subtask_1_30.txt AC 51 ms 3328 KB
subtask_1_31.txt AC 25 ms 3328 KB
subtask_1_32.txt AC 31 ms 3328 KB
subtask_1_33.txt AC 30 ms 3328 KB
subtask_1_34.txt AC 27 ms 3328 KB
subtask_1_35.txt AC 40 ms 3328 KB
subtask_1_36.txt AC 41 ms 3328 KB
subtask_1_37.txt AC 38 ms 3328 KB
subtask_1_38.txt AC 39 ms 3328 KB
subtask_1_39.txt AC 40 ms 3328 KB
subtask_1_40.txt AC 36 ms 3328 KB
subtask_1_41.txt AC 34 ms 3328 KB