Submission #1320801

#TimeUsernameProblemLanguageResultExecution timeMemory
1320801phamngocphuc2008Room Temperature (JOI24_ho_t1)C++20
100 / 100
344 ms31712 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define fi first #define se second #define sz(x) ((int)x.size()) #define all(a) (a).begin(), (a).end() #define inpvi(a, n) vi a(n); for(auto &i : a) cin >> i; int iceil(int a, int b) { return (a+b-1)/b; } multiset<int> s; int res() { return iceil(*s.rbegin() - *s.begin(), 2); } bool chmin(int &a, int b) { bool r = a > b; a = min(a,b); return r; } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); /* ins(1); ins(2); ins(4); ins(3); for(int i : l) cout << i << ' '; cout << '\n'; for(int i : r) cout << i << ' '; cout << '\n'; */ int n,t; cin >> n >> t; vector<pair<int, bool>> a(n); for(int i = 0; i < n; ++i) { cin >> a[i].fi; a[i].se = (a[i].fi >= t); a[i].fi %= t; s.insert(a[i].fi); //cerr << a[i].fi << ' '; } sort(all(a)); int ans = res(); for(int i = 0; i < n; ++i) { int x = a[i].fi; s.erase(s.find(x)); s.insert(x+t); /* for(int i : l) cerr << i << ' '; cerr << '\n'; for(int i : r) cerr << i << ' '; cerr << '\n'; */ chmin(ans, res()); } cout << ans; }
#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...