# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
64726 |
2018-08-05T13:17:01 Z |
mhnd |
Wombats (IOI13_wombats) |
C++14 |
|
1569 ms |
26116 KB |
#include "wombats.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int N = 1e5+50;
const ll oo = 1e18;
const ll mod = 1e9+7;
int dp[201][5001][201],h[5010][210],v[5010][210],c,r;
void build(){
for(int x = 0;x<c;x++){
for(int i=0;i<c;i++)dp[x][r-1][i]=1e9;
dp[x][r-1][x]=0;
for(int i=r-2;i>=0;i--)
for(int j=0;j<c;j++)
dp[x][i][j] = dp[x][i+1][j] + v[i][j];
for(int i=r-1;i>=0;i--){
for(int j=1;j<c;j++){
if(i!=r-1)dp[x][i][j] = min(dp[x][i][j],dp[x][i+1][j]+v[i][j]);
dp[x][i][j] = min(dp[x][i][j],dp[x][i][j-1] + h[i][j-1]);
}
}
for(int i=r-1;i>=0;i--){
for(int j=0;j<c-1;j++){
if(i!=r-1)dp[x][i][j] = min(dp[x][i][j],dp[x][i+1][j]+v[i][j]);
dp[x][i][j] = min(dp[x][i][j],dp[x][i][j+1] + h[i][j]);
}
}
for(int i=r-1;i>=0;i--){
for(int j=0;j<c-1;j++){
if(i!=r-1)dp[x][i][j] = min(dp[x][i][j],dp[x][i+1][j]+v[i][j]);
dp[x][i][j] = min(dp[x][i][j],dp[x][i][j+1] + h[i][j]);
}
}
for(int i=r-1;i>=0;i--){
for(int j=1;j<c;j++){
if(i!=r-1)dp[x][i][j] = min(dp[x][i][j],dp[x][i+1][j]+v[i][j]);
dp[x][i][j] = min(dp[x][i][j],dp[x][i][j-1] + h[i][j-1]);
}
}
}
}
void init(int R, int C, int H[5000][200], int V[5000][200]) {
r=R;
c=C;
for(int i=0;i<5000;i++)
for(int j=0;j<200;j++){
h[i][j]=H[i][j];
v[i][j]=V[i][j];
}
build();
}
void changeH(int P, int Q, int W) {
h[P][Q]=W;
build();
}
void changeV(int P, int Q, int W) {
v[P][Q]=W;
build();
}
int escape(int V1, int V2) {
if(dp[V2][0][V1] == 1e9)return 0;
return dp[V2][0][V1];
}
Compilation message
grader.c: In function 'int main()':
grader.c:15:6: warning: variable 'res' set but not used [-Wunused-but-set-variable]
int res;
^~~
wombats.cpp: In function 'void build()':
wombats.cpp:18:6: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
for(int i=r-2;i>=0;i--)
^~~
wombats.cpp:21:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
for(int i=r-1;i>=0;i--){
^~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
44 ms |
16376 KB |
Output is correct |
2 |
Correct |
57 ms |
16760 KB |
Output is correct |
3 |
Correct |
159 ms |
19392 KB |
Output is correct |
4 |
Correct |
55 ms |
19392 KB |
Output is correct |
5 |
Correct |
54 ms |
19392 KB |
Output is correct |
6 |
Correct |
14 ms |
19392 KB |
Output is correct |
7 |
Correct |
12 ms |
19392 KB |
Output is correct |
8 |
Correct |
13 ms |
19392 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
14 ms |
19392 KB |
Output is correct |
2 |
Correct |
15 ms |
19392 KB |
Output is correct |
3 |
Correct |
14 ms |
19392 KB |
Output is correct |
4 |
Incorrect |
16 ms |
19392 KB |
Output isn't correct |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1569 ms |
19392 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
474 ms |
26116 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1505 ms |
26116 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1446 ms |
26116 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |