Submission #586700

# Submission time Handle Problem Language Result Execution time Memory
586700 2022-06-30T14:39:51 Z AlperenT Wombats (IOI13_wombats) C++17
12 / 100
20000 ms 16368 KB
#include <bits/stdc++.h>
#include "wombats.h"

using namespace std;

const int N = 100 + 1, M = 100, INF = 1e9 + 5;

int n, m, h[N][M], v[N][M], dist[M][N][M];

bool vis[M];

void calc_dist(){
	for(int lst = 0; lst < m; lst++){
		for(int c = 0; c < m; c++) dist[lst][n][c] = INF;
		dist[lst][n][lst] = 0;

		for(int r = n - 1; r >= 0; r--){
			priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq;

			for(int c = 0; c < m; c++){
				dist[lst][r][c] = dist[lst][r + 1][c] + v[r][c];

				pq.push({dist[lst][r][c], c});
			}

			memset(vis, 0, sizeof(vis));

			while(!pq.empty()){
				int c = pq.top().second;
				pq.pop();

				if(!vis[c]){
					vis[c] = true;

					if(c != 0){
						if(dist[lst][r][c] + h[r][c - 1] < dist[lst][r][c - 1]){
							dist[lst][r][c - 1] = dist[lst][r][c] + h[r][c - 1];
							pq.push({dist[lst][r][c - 1], c - 1});
						}
					}

					if(c != m - 1){
						if(dist[lst][r][c] + h[r][c] < dist[lst][r][c + 1]){
							dist[lst][r][c + 1] = dist[lst][r][c] + h[r][c];
							pq.push({dist[lst][r][c + 1], c + 1});
						}
					}
				}
			}
		}
	}
}

void init(int R, int C, int H[5000][200], int V[5000][200]) {
    n = R, m = C;

    for(int i = 0; i < n; i++){
    	for(int j = 0; j < m - 1; j++){
    		h[i][j] = H[i][j];
    	}
    }

    for(int i = 0; i < n - 1; i++){
    	for(int j = 0; j < m; j++){
    		v[i][j] = V[i][j];
    	}
    }

    calc_dist();
}

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

    calc_dist();
}

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

    calc_dist();
}

int escape(int V1, int V2) {
    return dist[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]
   15 |  int res;
      |      ^~~
# Verdict Execution time Memory Grader output
1 Runtime error 5 ms 8424 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 2 ms 492 KB Output is correct
5 Correct 1 ms 596 KB Output is correct
6 Correct 1 ms 596 KB Output is correct
7 Correct 1 ms 596 KB Output is correct
8 Correct 1 ms 468 KB Output is correct
9 Correct 1 ms 596 KB Output is correct
10 Correct 1 ms 596 KB Output is correct
11 Correct 68 ms 1488 KB Output is correct
12 Correct 1 ms 596 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11637 ms 4488 KB Output is correct
2 Correct 6595 ms 4448 KB Output is correct
3 Correct 10773 ms 4484 KB Output is correct
4 Correct 10494 ms 4484 KB Output is correct
5 Correct 10378 ms 4452 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Execution timed out 20024 ms 4512 KB Time limit exceeded
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 12 ms 16340 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 10390 ms 4492 KB Output is correct
2 Correct 6072 ms 4560 KB Output is correct
3 Correct 10318 ms 4488 KB Output is correct
4 Correct 10808 ms 4488 KB Output is correct
5 Correct 11087 ms 4448 KB Output is correct
6 Runtime error 11 ms 16368 KB Execution killed with signal 11
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 10390 ms 4484 KB Output is correct
2 Correct 6322 ms 4448 KB Output is correct
3 Correct 10321 ms 4484 KB Output is correct
4 Correct 10258 ms 4488 KB Output is correct
5 Correct 10448 ms 4448 KB Output is correct
6 Runtime error 13 ms 16360 KB Execution killed with signal 11
7 Halted 0 ms 0 KB -