Submission #1148098

#TimeUsernameProblemLanguageResultExecution timeMemory
1148098OAleksaRoom Temperature (JOI24_ho_t1)C++20
50 / 100
1 ms328 KiB
#include <bits/stdc++.h>
using namespace std;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int tt = 1;
    //cin >> tt;
    while (tt--) {
      int n, t;
      cin >> n >> t;
      vector<int> a(n);
      for (int i = 0;i < n;i++)
        cin >> a[i];
      sort(a.begin(), a.end());
      auto check = [&](int mid) {
        int l = a[0] - 2 * mid, r = a[0] + 2 * mid;
        for (int i = 1;i < n;i++) {
          if (a[i] >= l && a[i] <= r)
            continue;
          assert(a[i] > r);
          int k = (a[i] - r + t - 1) / t;
          if (a[i] - k * t >= l && a[i] - k * t <= r)
            continue;
          return false;
        }
        return true;
      };
      int ans = 1e9, l = 0, r = 1e9;
      while (l <= r) {
        int mid = (l + r) / 2;
        if (check(mid)) {
          ans = mid;
          r = mid - 1;
        }
        else
          l = mid + 1;
      }
      cout << ans << '\n';
    }
    return 0;
}
#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...