Submission #1369687

#TimeUsernameProblemLanguageResultExecution timeMemory
1369687Charizard2021Room Temperature (JOI24_ho_t1)C++20
35 / 100
2090 ms344 KiB
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n, t;
    cin >> n >> t;
    vector<int> a(1 + n);
    for(int i = 1; i <= n; i++){
        cin >> a[i];
        a[i] %= t;
    }
    int ans = INT_MAX;
    for(int i = 0; i <= t; i++){
        int low = 0;
        int high = t;
        int res = INT_MAX;
        while(low <= high){
            int mid = (low + high)/2;
            bool works2 = true;
            for(int j = 1; j <= n; j++){
                bool works = false;
                if(i - mid <= a[j] && a[j] <= i + mid){
                    works = true;
                }
                if(i - mid <= a[j] + t && a[j] + t <= i + mid){
                    works = true;
                }
                if(!works){
                    works2 = false;
                    break;
                }
            }
            if(works2){
                res = mid;
                high = mid - 1;
            }
            else{
                low = mid + 1;
            }
        }
        ans = min(ans, res);
    }
    cout << ans << "\n";
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...