Submission #1213358

#TimeUsernameProblemLanguageResultExecution timeMemory
1213358coding_snorlaxRoom Temperature (JOI24_ho_t1)C++20
100 / 100
71 ms4168 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    long long N, T;
    cin >> N >> T;
    vector<long long> a(N);
    for (int i = 0; i < N; i++) {
        long long Ai;
        cin >> Ai;
        // 只要 Ai % T,就能得到 a_i
        a[i] = Ai % T;
    }

    // 先排序
    sort(a.begin(), a.end());

    // 计算相邻差,注意最后一个和第一个加上 T
    long long M = 0;
    for (int i = 0; i + 1 < N; i++) {
        long long diff = a[i+1] - a[i];
        if (diff > M) M = diff;
    }
    // 加上环绕的那段
    long long wrap_diff = (a[0] + T) - a[N-1];
    if (wrap_diff > M) M = wrap_diff;

    // 计算 D = ceil((T - M) / 2)
    long long gap = T - M;
    // 注意向上取整:
    long long D = (gap + 1) / 2; 
    // (因为 gap >= 0,一定能这样算)

    cout << D << "\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...