Submission #235240

# Submission time Handle Problem Language Result Execution time Memory
235240 2020-05-27T13:18:15 Z crossing0ver Wombats (IOI13_wombats) C++17
39 / 100
20000 ms 57080 KB
#include<bits/stdc++.h>
#define fi first
#define se second
#include "wombats.h"
using namespace std;
int R,C,H[5000][200],V[5000][200],vis[5000][200],help,dis[5000][2000],X,Y,x,y,G[5000][200][3],tr[5000][200],val;
int D[200][200];
int dx[] = {0,0,1};
int dy[] = {1,-1,0};
priority_queue<pair<int,pair<int,int > > > pq; 
void dijkstra() {
	while (!pq.empty())
	pq.pop();
	for (int i = 0; i < C; i++) {
		help++;
		pq.push ({0,{0, i}});
		tr[0][i] = help;
		while (!pq.empty()) {
			auto v = pq.top();
			val = -v.fi;
			 X = v.se.fi;
			 Y = v.se.se;
			pq.pop();
			if (vis[X][Y] == help) continue;
			vis[X][Y] = help;
			if (X == R - 1) {
				D[i][Y] = val;
			}
			for (int j = 0; j < 3; j++) {
				x = dx[j] +	X;
				y = dy[j] + Y;
				if (x >= R || y < 0 || y >= C) continue;
				if (help != tr[x][y] || dis[x][y] > val + G[X][Y][j] ) {
					tr[x][y] = help;
					dis[x][y] = val + G[X][Y][j];
					pq.push( { -dis[x][y], { x , y} } );
				}
			}
		}
	}
}
void init(int R1, int C1, int H1[5000][200], int V1[5000][200]) {
	R = R1; C = C1;
	for (int i = 0; i < R; i++)
	for (int j = 0; j < C; j++) {
		H[i][j] = H1[i][j],
		V[i][j] = V1[i][j];
	}
	for (int i = 0; i < R; i++)
	for (int j = 0; j < C; j++) {
		G[i][j][0] = H[i][j];
		if (j)
		G[i][j][1] = H[i][j-1];
		G[i][j][2] = V[i][j];
	}
	dijkstra();
}
void changeH(int P, int Q, int W) {
	G[P][Q][0] = W;
	G[P][Q+1][1] = W;
	dijkstra();
}

void changeV(int P, int Q, int W) {
    G[P][Q][2] = W;
    dijkstra();
}

int escape(int V1, int V2) {
    return D[V1][V2];
}

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;
      ^~~
# Verdict Execution time Memory Grader output
1 Correct 113 ms 51832 KB Output is correct
2 Correct 115 ms 51756 KB Output is correct
3 Correct 198 ms 53368 KB Output is correct
4 Correct 114 ms 51704 KB Output is correct
5 Correct 113 ms 51832 KB Output is correct
6 Correct 5 ms 384 KB Output is correct
7 Correct 5 ms 384 KB Output is correct
8 Correct 5 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 4 ms 384 KB Output is correct
4 Correct 6 ms 640 KB Output is correct
5 Correct 5 ms 640 KB Output is correct
6 Correct 6 ms 640 KB Output is correct
7 Correct 6 ms 640 KB Output is correct
8 Correct 6 ms 640 KB Output is correct
9 Correct 7 ms 640 KB Output is correct
10 Correct 6 ms 640 KB Output is correct
11 Correct 89 ms 1656 KB Output is correct
12 Correct 6 ms 640 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 15922 ms 1632 KB Output is correct
2 Execution timed out 20041 ms 1792 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 740 ms 55672 KB Output is correct
2 Correct 1573 ms 55808 KB Output is correct
3 Correct 798 ms 55800 KB Output is correct
4 Correct 816 ms 57080 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 15882 ms 1656 KB Output is correct
2 Execution timed out 20063 ms 1784 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 15912 ms 1640 KB Output is correct
2 Execution timed out 20048 ms 1784 KB Time limit exceeded
3 Halted 0 ms 0 KB -