Submission #426522

#TimeUsernameProblemLanguageResultExecution timeMemory
426522Aldas25Wombats (IOI13_wombats)C++14
55 / 100
5679 ms262148 KiB
#include "wombats.h"
#include <bits/stdc++.h>

using namespace std;

#define FOR(i, a, b) for (int i = (a); i <= (b); i++)
#define REP(n) FOR(O, 1, (n))
#define f first
#define s second
#define pb push_back
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<pii> vii;
typedef long long ll;
typedef vector<ll> vl;

const int MAXN = 100100;
const ll INF = 1e9;

int r, c;
int h[5000][200], v[5000][200];
int dp[310][5100][310];

void calcDists () {
    FOR(i, 0, c-1) {
       // cout << " i = "<< i<< endl;
        FOR(col, 0, c-1) dp[i][r-1][col] = INF;
        //cout << " --" << endl;
        dp[i][r-1][i] = 0;
        for (int row = r-1; row >= 0; row--) {
          //      cout <<"   row = " << row << endl;
            if (row != r-1) {
                FOR(col, 0, c-1) dp[i][row][col] = dp[i][row+1][col] + v[row][col];
            }
        //cout << "    -" << endl;

            FOR(col, 1, c-1) dp[i][row][col] = min(dp[i][row][col], dp[i][row][col-1] + h[row][col-1]);
            //cout << " sfsadfa" << endl;
            for (int col = c-2; col >= 0; col--) {
                    //cout << " col = " << col << endl;
                dp[i][row][col] = min(dp[i][row][col], dp[i][row][col+1] + h[row][col]);
            //cout << " ss" << endl;
            }
            //cout << "     ------" << endl;
        }
    }
}

void init(int R, int C, int H[5000][200], int V[5000][200]) {
    r = R;
    c = C;
    FOR(i, 0, r-1) FOR(j, 0, c-2)
        h[i][j] = H[i][j];
    FOR(i, 0, r-2) FOR(j, 0, c-1)
        v[i][j] = V[i][j];
//cout<< " h" << endl;
    calcDists();
  //  cout << " ii" << endl;
}

void changeH(int P, int Q, int W) {
    h[P][Q] = W;
    calcDists();
}

void changeV(int P, int Q, int W) {
    v[P][Q] = W;
    calcDists();
}

int escape(int V1, int V2) {
    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]
   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...