Submission #64731

#TimeUsernameProblemLanguageResultExecution timeMemory
64731mhndWombats (IOI13_wombats)C++14
9 / 100
1705 ms24636 KiB
#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=0;j<c;j++){ if(i!=r-1)dp[x][i][j] = min(dp[x][i][j],dp[x][i+1][j]+v[i][j]); if(j)dp[x][i][j] = min(dp[x][i][j],dp[x][i][j-1] + h[i][j-1]); if(j < c-1)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;j++){ if(i!=r-1)dp[x][i][j] = min(dp[x][i][j],dp[x][i+1][j]+v[i][j]); if(j)dp[x][i][j] = min(dp[x][i][j],dp[x][i][j-1] + h[i][j-1]); if(j < c-1)dp[x][i][j] = min(dp[x][i][j],dp[x][i][j+1]+h[i][j]); } } } } 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 (stderr)

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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...