Submission #1301754

#TimeUsernameProblemLanguageResultExecution timeMemory
1301754sigmaligmaGrowing Vegetables is Fun 4 (JOI21_ho_t1)C++20
0 / 100
1 ms572 KiB
#include <bits/stdc++.h> using namespace std; #define fastio \ ios::sync_with_stdio(false); \ cin.tie(nullptr); #define s(x) x.size() #define sort(x) sort(x.begin(), x.end()) #define rsort(x) sort(x.rbegin(), x.rend()) #define all(x) (x).begin(), (x).end() #define pb push_back #define fi first #define se second #define INF 1e9 #define INFL 1e18 #define rep(a, b) for (int a = 0; a < b; a++) using ll = long long; using pii = pair<ll, ll>; void solve() { ll n; cin >> n; vector<ll> v(n); for (ll i = 0; i < n; ++i) { cin >> v[i]; } vector<ll> max_pref(n), max_suff(n); vector<ll> tymczasowy = v; ll poprzedni = 0; for (ll i = 1; i < n; i++) { max_pref[i] = max_pref[i - 1]; if (tymczasowy[i] <= tymczasowy[i - 1]) { max_pref[i] = max(max_pref[i], tymczasowy[i - 1] - tymczasowy[i] + 1) + poprzedni; poprzedni = 0; tymczasowy[i] = tymczasowy[i - 1] + 1; } else { poprzedni = max_pref[i]; } } vector<ll> porownaj = tymczasowy; tymczasowy = v; poprzedni = 0; for (ll i = n - 2; i >= 0; i--) { max_suff[i] = max_suff[i + 1]; if (tymczasowy[i] <= tymczasowy[i + 1]) { max_suff[i] = max(max_suff[i], tymczasowy[i + 1] - tymczasowy[i] + 1) + poprzedni; poprzedni = 0; tymczasowy[i] = tymczasowy[i + 1] + 1; } else { poprzedni = max_suff[i]; } } ll minn = 1e9; // for (ll i = 0; i < n; i++) // { // cout << porownaj[i] << ' '; // } // cout << endl; // for (ll i = 0; i < n; i++) // { // cout << max_suff[i] << ' '; // } // cout << endl; for (ll i = 0; i < n - 1; i++) { if(porownaj[i]==tymczasowy[i+1]) minn = min(max(max_pref[i], max_suff[i+1])+1, minn); else minn = min(max(max_pref[i], max_suff[i + 1]), minn); } minn = min(minn,max_suff[0]); minn = min(minn,max_pref[n-1]); cout << minn << endl; } int main() { fastio; int t = 1; // cin >> t; while (t--) solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...