Submission #336765

# Submission time Handle Problem Language Result Execution time Memory
336765 2020-12-16T18:43:16 Z super_j6 Abduction 2 (JOI17_abduction2) C++14
17 / 100
1669 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 = 10;
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);
		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;
}
# Verdict Execution time Memory Grader output
1 Correct 8 ms 11244 KB Output is correct
2 Correct 10 ms 11244 KB Output is correct
3 Correct 11 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 8 ms 11244 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
# Verdict Execution time Memory Grader output
1 Correct 8 ms 11244 KB Output is correct
2 Correct 10 ms 11244 KB Output is correct
3 Correct 11 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 8 ms 11244 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 10 ms 11756 KB Output is correct
13 Correct 10 ms 11884 KB Output is correct
14 Correct 10 ms 11756 KB Output is correct
15 Correct 9 ms 11756 KB Output is correct
16 Correct 10 ms 11884 KB Output is correct
17 Correct 19 ms 14720 KB Output is correct
18 Correct 92 ms 35180 KB Output is correct
19 Correct 621 ms 229868 KB Output is correct
20 Correct 809 ms 284032 KB Output is correct
21 Correct 695 ms 255340 KB Output is correct
22 Runtime error 845 ms 524292 KB Execution killed with signal 9 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Correct 8 ms 11244 KB Output is correct
2 Correct 10 ms 11244 KB Output is correct
3 Correct 11 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 8 ms 11244 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 10 ms 11756 KB Output is correct
13 Correct 10 ms 11884 KB Output is correct
14 Correct 10 ms 11756 KB Output is correct
15 Correct 9 ms 11756 KB Output is correct
16 Correct 10 ms 11884 KB Output is correct
17 Correct 19 ms 14720 KB Output is correct
18 Correct 92 ms 35180 KB Output is correct
19 Correct 621 ms 229868 KB Output is correct
20 Correct 809 ms 284032 KB Output is correct
21 Correct 695 ms 255340 KB Output is correct
22 Runtime error 845 ms 524292 KB Execution killed with signal 9 (could be triggered by violating memory limits)
# Verdict Execution time Memory Grader output
1 Correct 31 ms 17004 KB Output is correct
2 Correct 26 ms 16752 KB Output is correct
3 Correct 29 ms 17388 KB Output is correct
4 Correct 30 ms 17388 KB Output is correct
5 Correct 36 ms 17388 KB Output is correct
6 Correct 406 ms 108908 KB Output is correct
7 Correct 404 ms 109548 KB Output is correct
8 Correct 1027 ms 322540 KB Output is correct
9 Correct 1000 ms 330476 KB Output is correct
10 Correct 983 ms 300652 KB Output is correct
11 Correct 1669 ms 481900 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 11244 KB Output is correct
2 Correct 10 ms 11244 KB Output is correct
3 Correct 11 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 8 ms 11244 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 10 ms 11756 KB Output is correct
13 Correct 10 ms 11884 KB Output is correct
14 Correct 10 ms 11756 KB Output is correct
15 Correct 9 ms 11756 KB Output is correct
16 Correct 10 ms 11884 KB Output is correct
17 Correct 19 ms 14720 KB Output is correct
18 Correct 92 ms 35180 KB Output is correct
19 Correct 621 ms 229868 KB Output is correct
20 Correct 809 ms 284032 KB Output is correct
21 Correct 695 ms 255340 KB Output is correct
22 Runtime error 845 ms 524292 KB Execution killed with signal 9 (could be triggered by violating memory limits)