Submission #1013847

#TimeUsernameProblemLanguageResultExecution timeMemory
1013847huutuanWombats (IOI13_wombats)C++14
43 / 100
20092 ms262144 KiB
#include "wombats.h"

#include <bits/stdc++.h>

using namespace std;

int dist[100][5000][100];
int R, C, H[5000][200], V[5000][200];
bool sussy;

void solve(){
   for (int tt=0; tt<C; ++tt){
      memset(dist[tt], 0x3f, sizeof dist[tt]);
      dist[tt][0][tt]=0;
      for (int i=0; i<R; ++i){
         for (int j=1, mn=dist[tt][i][0]; j<C; ++j){
            mn=min(mn+H[i][j-1], dist[tt][i][j]);
            dist[tt][i][j]=min(dist[tt][i][j], mn);
         }
         for (int j=C-2, mn=dist[tt][i][C-1]; j>=0; --j){
            mn=min(mn+H[i][j], dist[tt][i][j]);
            dist[tt][i][j]=min(dist[tt][i][j], mn);
         }
         if (i+1<R){
            for (int j=0; j<C; ++j) dist[tt][i+1][j]=dist[tt][i][j]+V[i][j];
         }
      }
   }
}

void init(int _R, int _C, int _H[5000][200], int _V[5000][200]) {
   R=_R, C=_C;
   memcpy(H, _H, sizeof H);
   memcpy(V, _V, sizeof V);
   sussy=1;
}

void changeH(int P, int Q, int W) {
   sussy=1;
   H[P][Q]=W;
}

void changeV(int P, int Q, int W) {
   sussy=1;
   V[P][Q]=W;
}

int escape(int V1, int V2) {
   if (sussy) solve();
   return dist[V1][R-1][V2];
}

Compilation message (stderr)

grader.c: In function 'int main()':
grader.c:15:6: warning: variable 'res' set but not used [-Wunused-but-set-variable]
   15 |  int res;
      |      ^~~
#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...