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);
}