Submission #1132726

#TimeUsernameProblemLanguageResultExecution timeMemory
1132726not_amirRoom Temperature (JOI24_ho_t1)C++20
35 / 100
0 ms328 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    int n, t;
    cin >> n >> t;
    vector<int> a(n);
    for (int& i : a) cin >> i;
    int l = 0, r = t, ans = t;
    while (l <= r) {
        int m = (l + r) / 2;
        bool canS = true, canE = true;
        int tl = 0, tr = t - 1;
        for (int x : a) {
            if (x % t - m > 0 && x % t + m <= t - 1)
                canS = false;
            if (x % t + m < t - 1 && x % t - m >= 0)
                canE = false;
            tl = max(tl, x % t - m);
            tr = min(tr, x % t + m);
        }
        if (canS || canE || tl <= tr)
            r = m - 1, ans = m;
        else
            l = m + 1;
    }
    cout << ans;
}
#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...