Submission #6258175


Source Code Expand

#include <algorithm>
#include <bitset>
#include <cassert>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <map>
#include <queue>
#include <random>
#include <set>
#include <stack>
#include <vector>

using namespace std;

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<unsigned char, unsigned char> pcc;
typedef pair<double, double> pdd;
typedef vector<vector<ll>> matrix;

const long double PI = 2 * acos(0);

int dp[200005];
int lis(vector<int> v) {
  if(v.empty()) return 0;
  dp[1] = 0;
  int ret = 1;
  for(int i = 1; i < v.size(); i++) {
    int lhs = 0;
    int rhs = ret;
    while(lhs != rhs) {
      int mid = (lhs+rhs+1)/2;
      if(v[i] > v[dp[mid]]) lhs = mid;
      else rhs = mid-1;
    }
    dp[++lhs] = i;
    ret = max(ret, lhs);
  }
  return ret;
}

pii l[200005];
void solve() {
  int xa, ya, xb, yb;
  cin >> xa >> ya >> xb >> yb;
  int n;
  cin >> n;
  for(int i = 0; i < n; i++) {
    cin >> l[i].first >> l[i].second;
  }
  sort(l, l+n);
  ll ret = 0;
  if(xa > xb) {
    swap(xa, xb);
    swap(ya, yb);
  }
  ret = abs(xa-xb) + abs(ya-yb);
  ret *= 100;
  bool rev = false;
  if(ya > yb) {
    swap(ya, yb);
    rev = true;
  }
  vector<int> v;
  for(int i = 0; i < n; i++) {
    if(l[i].first >= xa && l[i].first <= xb && l[i].second >= ya && l[i].second <= yb) {
      v.push_back(l[i].second);
    }
  }
  if(rev) reverse(v.begin(), v.end());
  int amt = lis(v);
  ret -= 20 * amt;
  ll pis = 5 * amt;
  if(amt == (min(yb-ya, xb-xa) + 1)) {
    pis += 5;
  }
  cout << fixed << setprecision(17) << (ret+pis*PI) << "\n";
}

void casesolve() {
  int t;
  cin >> t;
  for(int i = 1; i <= t; i++) {
    cout << "Case #" << i << ":" << "\n";
    solve();
  }
}

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL); cout.tie(NULL);
  solve();
  // casesolve();
}

Submission Info

Submission Time
Task C - Fountain Walk
User xiaowuc1
Language C++14 (GCC 5.4.1)
Score 900
Code Size 1926 Byte
Status AC
Exec Time 66 ms
Memory 4340 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 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 2 ms 384 KB
subtask_1_09.txt AC 19 ms 768 KB
subtask_1_10.txt AC 39 ms 1408 KB
subtask_1_11.txt AC 11 ms 512 KB
subtask_1_12.txt AC 63 ms 4340 KB
subtask_1_13.txt AC 42 ms 1536 KB
subtask_1_14.txt AC 19 ms 768 KB
subtask_1_15.txt AC 10 ms 512 KB
subtask_1_16.txt AC 62 ms 4340 KB
subtask_1_17.txt AC 34 ms 1280 KB
subtask_1_18.txt AC 27 ms 1024 KB
subtask_1_19.txt AC 27 ms 1024 KB
subtask_1_20.txt AC 60 ms 4340 KB
subtask_1_21.txt AC 62 ms 4340 KB
subtask_1_22.txt AC 63 ms 4340 KB
subtask_1_23.txt AC 62 ms 4340 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 51 ms 1920 KB
subtask_1_29.txt AC 53 ms 1920 KB
subtask_1_30.txt AC 66 ms 3572 KB
subtask_1_31.txt AC 38 ms 3572 KB
subtask_1_32.txt AC 46 ms 4340 KB
subtask_1_33.txt AC 45 ms 3956 KB
subtask_1_34.txt AC 41 ms 3572 KB
subtask_1_35.txt AC 57 ms 3572 KB
subtask_1_36.txt AC 55 ms 3572 KB
subtask_1_37.txt AC 53 ms 4084 KB
subtask_1_38.txt AC 54 ms 3956 KB
subtask_1_39.txt AC 56 ms 3828 KB
subtask_1_40.txt AC 50 ms 3956 KB
subtask_1_41.txt AC 47 ms 3956 KB