# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
64529 | TadijaSebez | Wombats (IOI13_wombats) | C++11 | 6681 ms | 263140 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 "wombats.h"
#include <stdio.h>
const int N=5050;
const int M=2048;
const int H=205;
const int inf=1e9+7;
int min(int a, int b){ return a>b?b:a;}
int max(int a, int b){ return a>b?a:b;}
int n,m,dp[M][H][H],ls[M],rs[M],x[N][M],y[N][M],tsz,root,opt[H];
void Take(int c)
{
int i,j,k,l,r;
for(i=0;i<m;i++) opt[i]=0;
for(i=0;i<m;i++) for(j=0;j<m;j++) dp[c][i][j]=inf;
for(i=m-1;i>-m;i--)
{
for(j=min(m-1,m-i-1);j+min(i,0)>=0;j--)
{
if(j==max(-i,0)) l=0;
else l=opt[j-1];
if(j==min(m-1,m-i-1)) r=m-1;
else r=opt[j];
for(k=l;k<=r;k++)
{
if(dp[c][j][j+i]>dp[ls[c]][j][k]+dp[rs[c]][k][j+i])
{
dp[c][j][j+i]=dp[ls[c]][j][k]+dp[rs[c]][k][j+i];
opt[j]=k;
}
}
Compilation message (stderr)
# | 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... |