제출 #1281329

#제출 시각아이디문제언어결과실행 시간메모리
1281329altern23Room Temperature (JOI24_ho_t1)C++20
35 / 100
1 ms580 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<ll, ll> #define fi first #define sec second #define ld long double #pragma GCC optimize ("Ofast") #pragma GCC optimize ("unroll-loops") const int MAXN = 5e5; const ll INF = 1e18; const int MOD = 1e9 + 7; ll A[MAXN + 5]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tc = 1; // cin >> tc; for(;tc--;){ ll N, T; cin >> N >> T; vector<ll> comp; for(int i = 1; i <= N; i++){ cin >> A[i]; A[i] %= T; comp.push_back(A[i]); } sort(comp.begin(), comp.end()); comp.erase(unique(comp.begin(), comp.end()), comp.end()); auto calc = [&](ll i, ll j){ return min({abs(j - i), abs((i + T) - j), abs(i - (j + T))}); }; ll ans = INF; for(auto i : comp){ ll cur = 0; cur = max(cur, calc(i, comp[0])); cur = max(cur, calc(i, comp.back())); auto it = lower_bound(comp.begin(), comp.end(), i + T / 2); if(it != comp.end()){ cur = max(cur, calc(i, (*it))); } if(it != comp.begin()){ --it; cur = max(cur, calc(i, (*it))); } ans = min(ans, cur); } cout << ans << "\n"; } } /* */
#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...