QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#457850 | #8838. Jesse's Job | ucup-team3591# | WA | 1ms | 3552kb | C++20 | 1.3kb | 2024-06-29 14:26:46 | 2024-06-29 14:26:46 |
Judging History
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 < std::min(i - 1, p[i] - 1))
argmax = i, maxa = std::min(i - 1, 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;
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 3540kb
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 5
result:
ok Correct (3 test cases)
Test #2:
score: -100
Wrong Answer
time: 1ms
memory: 3552kb
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 5 6 2 1 3 6 1 1 6 1 1 6 1 1 3 1 4 6 2 1 2 6 5 1 2 4 5 ...
result:
wrong answer Jury found better answer than participant (test case 30)