# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
537555 | Leonardo_Paes | Split the sequence (APIO14_sequence) | C++17 | 1529 ms | 86128 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<int,pii> pip;
#define f first
#define s second
const int maxn = 1e5+10, maxk = 210;
ll dp[maxn][2], v[maxn], suf[maxn];
int opt[maxn][maxk];
void solve(int l, int r, int optl, int optr, int k){
if(l > r) return;
int mid = (l + r) >> 1;
dp[mid][1] = 0;
for(int i=optl; i<=min(mid-1, optr); i++){
ll c = dp[i][0] + (suf[i+1] - suf[mid+1]) * suf[mid+1];
if(c >= dp[mid][1]){
dp[mid][1] = c;
opt[mid][k] = i;
}
}
solve(l, mid-1, optl, opt[mid][k], k); solve(mid+1, r, opt[mid][k], optr, k);
}
int main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
int n, k;
cin >> n >> k;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |