QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#457896#8838. Jesse's Jobucup-team3591#WA 1ms3600kbC++201.3kb2024-06-29 14:40:462024-06-29 14:40:47

Judging History

你现在查看的是最新测评结果

  • [2024-06-29 14:40:47]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3600kb
  • [2024-06-29 14:40:46]
  • 提交

answer

// Code by Heratino & Nelofus
// 彗星になれなかった姿を
// 笑い飛ばしてほしかった

#include <bits/stdc++.h>
using i64 = long long;

//{{{
template<typename T>
inline void chkmin(T &a, const T &b) {if (a > b)	a = b;}
template<typename T>
inline void chkmax(T &a, const T &b) {if (a < b)	a = b;}
//}}}

void solve() {
	int n;
	std::cin >> n;
	std::vector<int> p(n + 1);
	std::vector<int> vis(n + 1, 0);
	for (int i = 1; i <= n; i++)
		std::cin >> p[i];
	auto dfs = [&](auto &&self, int u) {
		if (vis[u])
			return ;
		vis[u] = true;
		self(self, p[u]);
	};
	dfs(dfs, 1);
	int cnt = 0;
	for (int i = 1; i <= n; i++)
		cnt += vis[i];
	if (cnt < n) {
		std::cout << n << '\n';
		std::cout << cnt << '\n';
		for (int i = 1, t = 0; i <= n; i++)
			if (vis[i])
				std::cout << i << " \n"[cnt == (++t)];
	} else {
		int maxa = -1, argmax = -1;
		for (int i = 1; i <= n; i++)
			if (maxa < n - (std::abs(i - p[i]) + 1))
				argmax = i, maxa = n - (std::abs(i - p[i]) + 1);
		std::cout << maxa << '\n';
		std::cout << 1 << '\n';
		std::cout << argmax << '\n';
	}
}

int main() {
#ifdef HeratinoNelofus
	freopen("input.txt", "r", stdin);
#endif
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr);

	int T;
	std::cin >> T;
	while (T--) {
		solve();
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3584kb

input:

3
2
2 1
4
2 1 4 3
6
3 5 4 2 6 1

output:

0
1
1
4
2
1 2
4
1
3

result:

ok Correct (3 test cases)

Test #2:

score: -100
Wrong Answer
time: 1ms
memory: 3600kb

input:

872
6
1 5 2 6 3 4
6
5 2 1 3 4 6
4
2 1 3 4
6
2 3 1 4 5 6
6
4 5 1 6 2 3
6
6 2 3 1 4 5
5
2 1 3 4 5
6
1 2 6 4 3 5
4
2 1 4 3
6
1 6 4 2 5 3
6
6 1 3 5 4 2
6
2 1 4 5 6 3
6
3 4 1 5 6 2
6
4 1 5 3 2 6
6
5 2 1 6 3 4
6
4 1 6 2 5 3
6
5 1 3 6 2 4
6
6 2 5 4 3 1
6
6 2 5 3 1 4
6
5 2 4 1 3 6
6
6 1 3 2 4 5
6
2 3 4 6 5 ...

output:

6
1
1
6
4
1 3 4 5
4
2
1 2
6
3
1 2 3
6
4
1 3 4 6
6
4
1 4 5 6
5
2
1 2
6
1
1
4
2
1 2
6
1
1
6
3
1 2 6
6
2
1 2
6
2
1 3
6
5
1 2 3 4 5
6
3
1 3 5
6
3
1 2 4
6
3
1 2 5
6
2
1 6
6
5
1 3 4 5 6
6
4
1 3 4 5
6
5
1 2 4 5 6
6
5
1 2 3 4 6
6
5
1 2 3 5 6
6
2
1 4
4
1
2
6
2
1 3
6
1
1
6
1
1
6
1
1
4
1
2
6
2
1 2
6
5
1 2 4 5 ...

result:

wrong answer Jury found better answer than participant (test case 143)