제출 #1199569

#제출 시각아이디문제언어결과실행 시간메모리
1199569sofapudenSafety (NOI18_safety)C++20
100 / 100
131 ms19168 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; int main () { ios_base::sync_with_stdio(0); cin.tie(0); ll n, h; cin >> n >> h; multiset<ll> L, R; priority_queue<ll> mer; ll dl = 0, dr = 0; ll ans = 0; for(int i = 0; i < n; ++i){ int x; cin >> x; ans -= x; L.insert(x - dl); R.insert(x - dr); while(*R.begin() + dr < *L.rbegin() + dl){ R.insert(*L.rbegin() + dl - dr); L.insert(*R.begin() + dr - dl); R.erase(R.begin()); L.erase(prev(L.end())); } ans -= (i + 1) * h; dl -= h; dr += h; } for(auto x : R)ans += x + dr; 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...