답안 #364143

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
364143 2021-02-08T09:53:41 Z super_j6 Sailing Race (CEOI12_race) C++14
25 / 100
333 ms 5484 KB
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
#define endl '\n'
#define ll long long
#define pi pair<int, int>
#define f first
#define s second
 
const int mxn = 1000;
int n, k;
int dp[mxn][mxn][2];
vector<int> g[mxn];
 
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	
	cin >> n >> k;
	
	for(int i = 0, x; i < n; i++)
	for(cin >> x; x; cin >> x)
	for(int j = 0; j < 2; j++)
	for(int l = 0; l < 2; l++){
		g[l * n + x - 1].push_back(j * n + i);
	}
	
	int ret = 0, x = 0;
	for(int i[2] = {n - 1}; ~i[0]; i[0]--)
	for(i[1] = i[0]; i[1] < 2 * n && i[1] - i[0] < n; i[1]++)
	for(int j = 0; j < 2; j++){
		int &dpc = dp[i[0]][i[1]][j];
		if(dpc > ret) ret = dpc, x = i[j];
		for(int l : g[i[j]])
		for(int p = 0, ii[2]; p < 2; p++) if((l > i[p]) == p){
			ii[p] = l, ii[!p] = i[!p];
			dp[ii[0]][ii[1]][p] = max(dp[ii[0]][ii[1]][p], dpc + 1);
		}
	}
	
	cout << ret << " " << (x % n + 1) << endl;
	
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Incorrect 1 ms 492 KB Output isn't correct
3 Incorrect 1 ms 492 KB Output isn't correct
4 Incorrect 1 ms 492 KB Output isn't correct
5 Correct 1 ms 620 KB Output is correct
6 Incorrect 2 ms 620 KB Output isn't correct
7 Incorrect 4 ms 748 KB Output isn't correct
8 Incorrect 3 ms 748 KB Output isn't correct
9 Correct 7 ms 876 KB Output is correct
10 Correct 15 ms 1132 KB Output is correct
11 Correct 8 ms 1004 KB Output is correct
12 Incorrect 21 ms 1772 KB Output isn't correct
13 Incorrect 37 ms 2796 KB Output isn't correct
14 Incorrect 62 ms 3692 KB Output isn't correct
15 Incorrect 201 ms 4972 KB Output isn't correct
16 Incorrect 268 ms 5356 KB Output isn't correct
17 Incorrect 202 ms 4992 KB Output isn't correct
18 Incorrect 82 ms 4596 KB Output isn't correct
19 Incorrect 316 ms 5484 KB Output isn't correct
20 Incorrect 333 ms 5484 KB Output isn't correct