Submission #4573


Source Code Expand

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

double get_r(pair<double,double> a, pair<double,double> b)
{
  return sqrt((a.first-b.first)*(a.first-b.first)+(a.second-b.second)*(a.second-b.second));
}

int main()
{
  int N;
  double start, goal;
  vector<pair<double, double>> course;
  cin >> N;
  cin >> start >> goal;
  for(int i=0;i<=N;++i)
  {
    double l,r;
    cin >> l >> r;
    course.push_back({l,r});
  }

  double result = 0.0;
  pair<double,double> begin = {start, 0};
  pair<double,double> end = {goal, N};
  for(int i=0;i<=N;++i)
  {
    double pos = begin.first + (begin.first - end.first)
      /(begin.second - end.second)
      *(static_cast<double>(i)-begin.second);
    if(pos>=course[i].first && pos<=course[i].second) continue;

    pair<double,double> tmp;
    if(pos<course[i].first) tmp = {course[i].first, i};
    if(pos>course[i].second) tmp = {course[i].second, i};
    result += get_r(begin, tmp);
    begin = tmp;
  }
  result += get_r(begin, end);

  printf("%.14f\n", result);
  return 0;
}

Submission Info

Submission Time
Task D - レースゲーム
User kyubuns
Language C++11 (GCC 4.8.1)
Score 0
Code Size 1101 Byte
Status WA
Exec Time 339 ms
Memory 4232 KB

Judge Result

Set Name all
Score / Max Score 0 / 100
Status
AC × 14
WA × 12
Set Name Test Cases
all 00_sample1.txt, 00_sample2.txt, 01_rnd_large_00.txt, 01_rnd_large_01.txt, 01_rnd_large_02.txt, 01_rnd_small_00.txt, 01_rnd_small_01.txt, 01_rnd_small_02.txt, 02_narrowrnd_large_00.txt, 02_narrowrnd_large_01.txt, 02_narrowrnd_small_00.txt, 02_narrowrnd_small_01.txt, 03_zigzag_large_00.txt, 03_zigzag_small_00.txt, 04_middle_large_00.txt, 04_middle_large_01.txt, 04_middle_large_02.txt, 04_middle_small_00.txt, 04_middle_small_01.txt, 04_middle_small_02.txt, 05_turnleft_large_00.txt, 05_turnleft_small_00.txt, 06_turnright_large_00.txt, 06_turnright_small_00.txt, 07_free_large_00.txt, 07_free_small_00.txt
Case Name Status Exec Time Memory
00_sample1.txt AC 19 ms 128 KB
00_sample2.txt AC 19 ms 0 KB
01_rnd_large_00.txt WA 331 ms 4232 KB
01_rnd_large_01.txt AC 339 ms 4144 KB
01_rnd_large_02.txt WA 333 ms 4196 KB
01_rnd_small_00.txt AC 20 ms 0 KB
01_rnd_small_01.txt WA 21 ms 128 KB
01_rnd_small_02.txt WA 21 ms 128 KB
02_narrowrnd_large_00.txt AC 338 ms 4212 KB
02_narrowrnd_large_01.txt AC 335 ms 4116 KB
02_narrowrnd_small_00.txt AC 20 ms 688 KB
02_narrowrnd_small_01.txt AC 21 ms 128 KB
03_zigzag_large_00.txt AC 272 ms 4128 KB
03_zigzag_small_00.txt AC 21 ms 128 KB
04_middle_large_00.txt WA 338 ms 4204 KB
04_middle_large_01.txt WA 338 ms 4160 KB
04_middle_large_02.txt WA 333 ms 4196 KB
04_middle_small_00.txt WA 20 ms 0 KB
04_middle_small_01.txt AC 21 ms 128 KB
04_middle_small_02.txt WA 21 ms 128 KB
05_turnleft_large_00.txt WA 334 ms 4140 KB
05_turnleft_small_00.txt WA 20 ms 688 KB
06_turnright_large_00.txt WA 335 ms 4204 KB
06_turnright_small_00.txt AC 21 ms 128 KB
07_free_large_00.txt AC 268 ms 4140 KB
07_free_small_00.txt AC 20 ms 128 KB