Submission #882208

#TimeUsernameProblemLanguageResultExecution timeMemory
882208imarnSafety (NOI18_safety)C++14
100 / 100
40 ms5496 KiB
#include<bits/stdc++.h> #define f first #define s second #define ll long long #define pb push_back #define pii pair<int,int> #define pll pair<ll,ll> #define sz(x) (int)x.size() #define all(x) x.begin(),x.end() #define vi vector<int> #define vvi vector<vi> using namespace std; priority_queue<ll,vector<ll>,greater<ll>>lq; priority_queue<ll>rq; int main(){ ios_base::sync_with_stdio(0);cin.tie(0); ll ans=0; int n,h;cin>>n>>h; ll x,r=0;cin>>x; lq.push(x),rq.push(x); for(int i=1;i<n;i++){ cin>>x;r+=h; if(x-r>lq.top()){ ans+=x-r-lq.top(); lq.push(x-r); rq.push(lq.top()+r+r); lq.push(x-r); lq.pop(); } else if(x+r<rq.top()){ ans+=rq.top()-x-r; rq.push(x+r); lq.push(rq.top()-r-r); rq.push(x+r); rq.pop(); } else { lq.push(x-r); rq.push(x+r); } }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...