Submission #1251524

#TimeUsernameProblemLanguageResultExecution timeMemory
1251524DanielPr8Safety (NOI18_safety)C++20
100 / 100
160 ms18984 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using vll = vector<ll>; using vvl = vector<vll>; using vb = vector<bool>; using pll = pair<ll,ll>; using vpl = vector<pll>; using vvp = vector<vpl>; #define f first #define s second #define pb push_back #define all(v) v.begin(),v.end() int main(){ ios_base::sync_with_stdio(0);cin.tie(NULL); ll n, h; cin >> n >> h; ll ans=0,pl=0; multiset<ll> l, r; for(ll a,i = 0; i < n; ++i){ cin >> a; a+=h*i; pl+=h*2; if(l.empty() || a<=*(l.rbegin())){ l.insert(a); l.insert(a); ll o = *(l.rbegin()); r.insert(o-pl); l.erase(l.find(o)); ans += o-a; } else{ r.insert(a-pl); r.insert(a-pl); ll o = *(r.begin()); l.insert(o+pl); r.erase(r.begin()); ans += a-o-pl; } } 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...