Room Temperature
我们首先可以发现他的初始适宜温度是无关紧要的(因为我们可以让他穿非常多的衣服,然后后续的操作就等于脱衣服),然后我们将数组统一模 \(T\),再排序,假设现在我们考虑第 \(i\) 个人,那么一定可以通过脱衣服,让温度在 \(a[i]\) 至 \(a[i - 1] + t\) 内,然后我们要注意 \(i = 1\) 那么就是 \(a[1]\) 至 \(a[n]\) 之内
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e7 + 5;
int n, t, a[N], ans = 1e18;
signed main() {
cin >> n >> t;
for (int i = 1; i <= n; i++) {
cin >> a[i];
a[i] %= t;
}
sort(a + 1, a + n + 1);
for (int i = 1; i <= n; i++) {
a[i + n] = a[i] + t;
}
for (int i = 1; i <= n; i++) {
int tmp = (a[i] + a[i + n - 1] + 1) / 2;
ans = min(ans, max(tmp - a[i], a[i + n - 1] - tmp));
}
cout << ans;
return 0;
}
标签:int,然后,20240902,long,我们,脱衣服
From: https://www.cnblogs.com/libohan/p/18431045