Submission

Status:

(PP-SSSSSSSSSSSS)(P-SSSSSS)(PPPPPPPPPP)(-SSSSSSSSS)(-SSSSSSSSS)(%%-SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS)

Subtask/Task Score:

{0/3}{0/7}{12/12}{0/17}{0/21}{0/40}

Score: 12

User: tHeNyXs

Problemset: รถไฟตู้เสบียง (Dining Car)

Language: cpp

Time: 0.001 second

Submitted On: 2026-04-23 15:15:09

#include <bits/stdc++.h>
#include "dining_car.h"

using namespace std;
#define pii pair<int, int>
// you can also write additional functions here

pair < int, int > locate_dining_cars(int N) 
{
  //write your code here
  int l = 1, r = N;
  int m;
  while (l < r) {
    int mid = (l+r)/2;
    int val = compare_cars(mid, mid+1);
    if (val ==  -1) r = mid;
    else if (val == 1) l = mid+1;
    else {
      break;
    }
  }
  m = (l+r)/2;
  int ans1, ans2;
  l = 1; r = m;
  while (l < r) {
    int mid = (l+r)/2;
    int val = compare_cars(mid, mid+1);
    if (val ==  -1) r = mid;
    else if (val == 1) l = mid+1;
  }
  ans1 = (l+r)/2;

  l = m+1, r = N;
  while (l < r) {
    int mid = (l+r)/2;
    int val = compare_cars(mid, mid+1);
    if (val ==  -1) r = mid;
    else if (val == 1) l = mid+1;
  }
  ans2 = (l+r)/2;


  return make_pair(ans1, ans2);
}