답안 #336768

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
336768 2020-12-16T18:45:23 Z super_j6 유괴 2 (JOI17_abduction2) C++14
27 / 100
4423 ms 524292 KB
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <array>
#include <unordered_map>
using namespace std;
#define endl '\n'
#define ll long long
#define pi pair<int, int>
#define f first
#define s second
 
typedef array<int, 2> T;
 
T operator+(T x, T y){
	return {x[0] + y[0], x[1] + y[1]};
}
 
const int mxn = 50000, k = 4, w = 2;
const T d[k] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};
int n[2], q;
int a[2][mxn];
unordered_map<int, int> dp[k][mxn];
 
int sol(T x, int y){
	for(int i = 0; i < 2; i++) if(x[i] < 0 || x[i] >= n[i]) return 0;
	int ret = 0;
	if(dp[y][x[0]].count(x[1])){
		ret = dp[y][x[0]][x[1]];
	}else if(a[!(y & 1)][x[!(y & 1)]] > a[y & 1][x[y & 1]]){
		ret = sol(x + d[y], y);
		if(!(x[0] % w) && !(x[1] % w)) dp[y][x[0]][x[1]] = ret;
	}else{
		for(int i = 0; i < 2; i++){
			int z = (y + 2 * i + 1) % k;
			ret = max(ret, sol(x + d[z], z));
		}
		dp[y][x[0]][x[1]] = ret;
	}
	return ++ret;
}
 
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	
	cin >> n[0] >> n[1] >> q;
	
	for(int i = 0; i < 2; i++)
	for(int j = 0; j < n[i]; j++){
		cin >> a[i][j];
	}
	
	while(q--){
		T x;
		for(int i = 0; i < 2; i++) cin >> x[i], x[i]--;
		int ret = 0;
		for(int i = 0; i < k; i++) ret = max(ret, sol(x + d[i], i));
		cout << ret << endl;
	}
 
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 11244 KB Output is correct
2 Correct 8 ms 11244 KB Output is correct
3 Correct 8 ms 11244 KB Output is correct
4 Correct 8 ms 11244 KB Output is correct
5 Correct 8 ms 11244 KB Output is correct
6 Correct 8 ms 11244 KB Output is correct
7 Correct 9 ms 11372 KB Output is correct
8 Correct 8 ms 11244 KB Output is correct
9 Correct 8 ms 11244 KB Output is correct
10 Correct 8 ms 11244 KB Output is correct
11 Correct 8 ms 11244 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 11244 KB Output is correct
2 Correct 8 ms 11244 KB Output is correct
3 Correct 8 ms 11244 KB Output is correct
4 Correct 8 ms 11244 KB Output is correct
5 Correct 8 ms 11244 KB Output is correct
6 Correct 8 ms 11244 KB Output is correct
7 Correct 9 ms 11372 KB Output is correct
8 Correct 8 ms 11244 KB Output is correct
9 Correct 8 ms 11244 KB Output is correct
10 Correct 8 ms 11244 KB Output is correct
11 Correct 8 ms 11244 KB Output is correct
12 Correct 9 ms 11628 KB Output is correct
13 Correct 9 ms 11628 KB Output is correct
14 Correct 9 ms 11500 KB Output is correct
15 Correct 9 ms 11628 KB Output is correct
16 Correct 9 ms 11628 KB Output is correct
17 Correct 12 ms 12396 KB Output is correct
18 Correct 35 ms 17004 KB Output is correct
19 Correct 260 ms 123628 KB Output is correct
20 Correct 315 ms 150552 KB Output is correct
21 Correct 274 ms 138988 KB Output is correct
22 Correct 610 ms 377636 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 11244 KB Output is correct
2 Correct 8 ms 11244 KB Output is correct
3 Correct 8 ms 11244 KB Output is correct
4 Correct 8 ms 11244 KB Output is correct
5 Correct 8 ms 11244 KB Output is correct
6 Correct 8 ms 11244 KB Output is correct
7 Correct 9 ms 11372 KB Output is correct
8 Correct 8 ms 11244 KB Output is correct
9 Correct 8 ms 11244 KB Output is correct
10 Correct 8 ms 11244 KB Output is correct
11 Correct 8 ms 11244 KB Output is correct
12 Correct 9 ms 11628 KB Output is correct
13 Correct 9 ms 11628 KB Output is correct
14 Correct 9 ms 11500 KB Output is correct
15 Correct 9 ms 11628 KB Output is correct
16 Correct 9 ms 11628 KB Output is correct
17 Correct 12 ms 12396 KB Output is correct
18 Correct 35 ms 17004 KB Output is correct
19 Correct 260 ms 123628 KB Output is correct
20 Correct 315 ms 150552 KB Output is correct
21 Correct 274 ms 138988 KB Output is correct
22 Correct 610 ms 377636 KB Output is correct
23 Correct 35 ms 19308 KB Output is correct
24 Correct 51 ms 21100 KB Output is correct
25 Correct 32 ms 18540 KB Output is correct
26 Correct 45 ms 25964 KB Output is correct
27 Correct 33 ms 19308 KB Output is correct
28 Runtime error 4423 ms 524292 KB Execution killed with signal 9 (could be triggered by violating memory limits)
29 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 20 ms 12908 KB Output is correct
2 Correct 19 ms 12908 KB Output is correct
3 Correct 20 ms 13292 KB Output is correct
4 Correct 21 ms 13164 KB Output is correct
5 Correct 22 ms 13292 KB Output is correct
6 Correct 131 ms 35180 KB Output is correct
7 Correct 132 ms 35436 KB Output is correct
8 Correct 397 ms 151788 KB Output is correct
9 Correct 382 ms 164332 KB Output is correct
10 Correct 377 ms 137836 KB Output is correct
11 Correct 619 ms 224492 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 11244 KB Output is correct
2 Correct 8 ms 11244 KB Output is correct
3 Correct 8 ms 11244 KB Output is correct
4 Correct 8 ms 11244 KB Output is correct
5 Correct 8 ms 11244 KB Output is correct
6 Correct 8 ms 11244 KB Output is correct
7 Correct 9 ms 11372 KB Output is correct
8 Correct 8 ms 11244 KB Output is correct
9 Correct 8 ms 11244 KB Output is correct
10 Correct 8 ms 11244 KB Output is correct
11 Correct 8 ms 11244 KB Output is correct
12 Correct 9 ms 11628 KB Output is correct
13 Correct 9 ms 11628 KB Output is correct
14 Correct 9 ms 11500 KB Output is correct
15 Correct 9 ms 11628 KB Output is correct
16 Correct 9 ms 11628 KB Output is correct
17 Correct 12 ms 12396 KB Output is correct
18 Correct 35 ms 17004 KB Output is correct
19 Correct 260 ms 123628 KB Output is correct
20 Correct 315 ms 150552 KB Output is correct
21 Correct 274 ms 138988 KB Output is correct
22 Correct 610 ms 377636 KB Output is correct
23 Correct 35 ms 19308 KB Output is correct
24 Correct 51 ms 21100 KB Output is correct
25 Correct 32 ms 18540 KB Output is correct
26 Correct 45 ms 25964 KB Output is correct
27 Correct 33 ms 19308 KB Output is correct
28 Runtime error 4423 ms 524292 KB Execution killed with signal 9 (could be triggered by violating memory limits)
29 Halted 0 ms 0 KB -