Submission #396099

#TimeUsernameProblemLanguageResultExecution timeMemory
396099Knps4422Growing Vegetables is Fun 4 (JOI21_ho_t1)C++14
100 / 100
105 ms3808 KiB
//#pragma optimization_level 3 //#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math,O3") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #include<bits/stdc++.h> /* #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include <ext/pb_ds/detail/standard_policies.hpp> using namespace __gnu_pbds; typedef tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update>ordset; */ #define fr first #define sc second #define vec vector #define pb push_back #define pii pair<int, int> #define forn(x,y) for(int x = 1 ; x <= (int)y ; ++x) #define all(x) (x).begin(),(x).end() #define fast cin.tie(0);cout.tie(0);cin.sync_with_stdio(0);cout.sync_with_stdio(0); using namespace std; typedef long long ll; typedef unsigned int uint; typedef pair<ll,ll> pll; typedef complex<int> point; const int nmax = 400005; const ll linf = 1e18; const ll mod = 998244353; const int inf = 1e9; const int sq = 5000; int n, k; int a[nmax],b[nmax]; int main(){ cin >> n; for(int i = 1; i <= n; i++){ cin >> a[i]; } for(int i = 1; i < n; i++){ b[i] = a[i+1] - a[i]; } // b[i] > 0 , b[i] < 0 ll cnt1(0), cnt2(0); for(int i = 1; i < n; i++){ cnt2 += max(0,b[i]+1); } ll rs = max(cnt1,cnt2); for(int k = 1; k < n; k++){ cnt1 += max(0,1-b[k]); cnt2 -= max(0,b[k]+1); //cout << k << ' ' << cnt1 << ' ' << cnt2 << '\n'; rs = min(rs, max(cnt1,cnt2)); } cout << rs << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...