| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1322650 | vaishakhv | Room Temperature (JOI24_ho_t1) | C++20 | 0 ms | 0 KiB |
// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define eb emplace_back
vector<ll> a;
ll calc(ll x){
ll mx_dis = 0;
for (ll i = 0; i < n; i++) {
ll dis;
if (x >= a[i]) {
dis = x - a[i];
} else {
ll k = (a[i] - x) / t;
dis = min(abs(x - (a[i] - k * t)), abs(x - (a[i] - (k + 1) * t)));
}
mx_dis = max(mx_dis, dis);
}
return mx_dis;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
ll n, t;
cin >> n >> t;
a.resize(n);
for (ll i{}; i < n; i++) cin >> a[i];
ll ans = 1e18;
for (ll k1{}; k1 <= 2000; k1++) {
for (ll k2{}; k2 <= 2000; k2++) {
ll p1 = a[0] - k1 * t;
ll p2 = a[1] - k2 * t;
ans = min(ans, calc(p1));
ans = min(ans, calc(p2));
ll mid = (p1 + p2) / 2;
ans = min(ans, calc(mid));
ans = min(ans, calc(mid + 1));
}
}
cout << ans << "\n";
}
