Submission
Status:
(P-SSSSSSSSSSSSS)(-SSSSSSS)(-SSSSSSSSS)(-SSSSSSSSS)(-SSSSSSSSS)(-SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS)
Subtask/Task Score:
{0/3}{0/7}{0/12}{0/17}{0/21}{0/40}
Score: 0
User: x
Problemset: รถไฟตู้เสบียง (Dining Car)
Language: cpp
Time: 0.001 second
Submitted On: 2026-02-15 15:45:19
#include <bits/stdc++.h>
#include "dining_car.h"
using namespace std;
int x, y;
int find_inside(int l, int r){
while(l < r){
int mid=(l+r)/2;
if(compare_cars(mid, mid+1) <= 0)
r = mid;
}
return l;
}
pair<int, int> locate_dining_cars(int N)
{
int l = 1, r = N;
while(l < r){
int mid = (l+r) / 2;
int side_query = compare_cars(l, r);
if(side_query = 0){
x = find_inside(l, mid);
y = r-(x-1);
return {x, y};
}
int mid_query = compare_cars(mid, mid+1);
if(side_query == -1 && mid_query == -1)
r = mid;
else if(side_query == 1 && mid_query == 1)
l = mid+1;
else
return {find_inside(l, mid), find_inside(mid+1, r)};
}
}