Submission

Status:

(PPPPPPPPPPPPPPP)(PPPPPPPP)(-SSSSSSSSS)(-SSSSSSSSS)(-SSSSSSSSS)(-SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS)

Subtask/Task Score:

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

Score: 10

User: koon

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

Language: cpp

Time: 0.002 second

Submitted On: 2026-04-24 13:27:48

#include <bits/stdc++.h>
#include "dining_car.h"
using namespace std;

int find_min(int l, int r) {
  while (l < r) {
    int mid = (l + r) / 2;
    if (compare_cars(mid, mid+1) == -1)
      r = mid;
    else
      l = mid + 1;
  }
  return l;
}

pair<int,int> locate_dining_cars(int N) {

  int A = find_min(1, N);

  int B = -1;
  for (int i = 1; i <= N; i++) {
    if (i == A) continue;

    if (B == -1 || compare_cars(i, B) == -1)
      B = i;
  }

  if (A > B) swap(A, B);
  return {A, B};
}