제출 #1149950

#제출 시각아이디문제언어결과실행 시간메모리
1149950henriessGrowing Vegetables is Fun 4 (JOI21_ho_t1)C++20
0 / 100
0 ms324 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long n;cin >> n; vector<long long> A(n); for(int i = 0;i<n;i++){ cin >> A[i]; } //sequence has to be increasing then decreasing vector<long long> p(n); vector<long long> s(n); p[0] = A[0]; //I can water a consecutive segment for(int i = 1;i<n;i++){//has to be increasing p[i] = max(A[i],p[i-1] + 1); } s[n-1] = A[n-1]; for(int i = n-2;i>=0;i--){ s[i] = max(A[i],s[i+1] + 1); } vector<long long> B(n); for(int i = 0;i<n;i++){ B[i] = min(p[i],s[i]); } //B[i] represents the heights long long ans = 0; long long offset = 0; for(int i = 0;i<n;i++){ long long diff = B[i] - A[i]; ans += max(0LL,diff-offset); offset = diff; } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...