제출 #1010457

#제출 시각아이디문제언어결과실행 시간메모리
1010457vjudge1Growing Vegetables is Fun 4 (JOI21_ho_t1)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; pair<ll,ll> r[212345],l[212345]; int main() { ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); ll n,c=1e10; cin>>n; ll a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=n-2;i>=0;i--){ if(a[i]<=a[i+1]+r[i+1].second){ r[i].second=r[i+1].second+max(0ll,a[i+1]-a[i]+1); r[i].first=r[i+1].first+r[i].second-r[i+1].second; } else{ r[i].first=r[i+1].first; r[i].second=r[i+1].second; } } for(int i=1;i<n;i++){ if(a[i]<=a[i-1]+l[i-1].second){ l[i].second=l[i-1].second+max(0ll,a[i-1]-a[i]+1); l[i].first=l[i-1].first+l[i].second-l[i-1].second; } else{ l[i].first=l[i-1].first; l[i].second=l[i-1].second; } } for(int i=0;i<n;i++){ c=min(c,l[i].first+r[i].first-min(r[i].second,l[i].second)); } cout<<c; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...