Submission #1322651

#TimeUsernameProblemLanguageResultExecution timeMemory
1322651vaishakhvRoom Temperature (JOI24_ho_t1)C++20
0 / 100
2095 ms440 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 n, t;

ll calc(ll x){
    ll mx_dis = 0;
        for (ll i{}; 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);
    

    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";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...