# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|
72553 | | cat > /dev/null (#118) | 통행이 제한된 저택 (FXCUP3_key) | C++17 | | 5 ms | 1004 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#define _CRT_SECURE_NO_WARNINGS
#include "key.h"
#include "bits/stdc++.h"
using namespace std;
void EnsureKeyInfo(int n) {
int arr[1001];
for (int i = 1; i <= n; i++)
{
TakeKey(i);
arr[i] = Explore();
}
set<int> ss[1001];
set<int> inv[1001];
for (int i = 1; i <= n; i++)
{
for (int j = i; j <= n; j++)
{
if (i == j)
{
Report(i, i);
continue;
}
if (inv[i].find(j) != inv[i].end() || inv[j].find(i) != inv[j].end())
continue;
TakeKey(i);
TakeKey(j);
int res = Explore();
if (res <= max(arr[i], arr[j]))
{
if (arr[i] > arr[j])
{
Report(i, j);
}
else if (arr[i] < arr[j])
{
Report(j, i);
}
else
Report(i, j), Report(j, i);
ss[i].insert(j);
ss[j].insert(i);
}
else
{
for (auto k : ss[i])
inv[j].insert(k);
for (auto k : ss[j])
inv[i].insert(k);
inv[i].insert(j);
inv[j].insert(i);
}
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |