Submission #1313631

#TimeUsernameProblemLanguageResultExecution timeMemory
1313631yessimkhanTriple Jump (JOI19_jumps)C++20
19 / 100
713 ms356300 KiB
#include <bits/stdc++.h> #define int long long #define ent '\n' #define pb push_back #define all(x) x.begin(),x.end() #define PRaim_bek_abi ios_base::sync_with_stdio(0);cin.tie(0); using namespace std; const int N = 5e3+5 , maxn = 3e5 + 5; const int MOD = 1e9+7; int n , q , a[N] , mx[N][N] , ans[N][N] , suf[N][N]; void arkanefury228(){ cin >> n; for (int i = 1; i <= n; i++){ cin >> a[i]; } for (int l = 1; l <= n; l++){ int m = a[l]; for (int r = l; r <= n; r++){ m = max(m , a[r]); mx[l][r] = m; } } for (int r = 1; r <= n; r++){ for (int l = 1; l <= r; l++){ if (r - l + 1 <= 2) break; int sum = a[r] + a[l] + mx[l + 1][(r + l) / 2]; ans[l][r] = max(ans[l][r - 1] , sum); } } for (int i = 1; i <= n; i++){ for (int j = i; j >= 1; j--){ suf[j][i] = max(ans[j][i] , suf[j + 1][i]); } } cin >> q; while(q--){ int l , r; cin >> l >> r; cout << suf[l][r] << ent; } } signed main(){ PRaim_bek_abi int t=1; //cin>>t; for (int respagold = 1; respagold <= t; respagold++) arkanefury228(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...