제출 #1157008

#제출 시각아이디문제언어결과실행 시간메모리
1157008dubabubaRoom Temperature (JOI24_ho_t1)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; typedef pair<int, int> pii; #define ff first #define ss second #define MP make_pair const int mxn = 5e5 + 10; int a[mxn], r[mxn], n, t; bool can(int d) { vector<pii> vec; for(int i = 1; i <= n; i++) { int l = ::r[i] - d; int r = ::r[i] + d; if(l < 0) { l += t; r += t; } vec.push_back(MP(l, r)); } sort(vec.begin(), vec.end()); for(int i = 1; i <= n; i++) { if(vec[i - 1].ss < vec[i].ff) return false; } return true; } int main() { cin >> n >> t; bool sus = true; for(int i = 1; i <= n; i++) { cin >> a[i]; r[i] = a[i] % t; if(r[i]) sus = false; } if(sus) { cout << 0 << endl; return 1; } int L = 0, R = t; while(R - L > 1) { int M = (L + R) / 2; if(can(M)) R = M; else L = M; } cout << R << endl; 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...