#include "gondola.h"
#include <bits/stdc++.h>
using namespace std;
int valid(int n, int sequence[])
{
vector<int> a(sequence, sequence + n);
set<int> s;
for (int i = 0; i < n; i++)
{
a[i]--;
s.insert(a[i]);
}
if (s.size() != n)
return 0;
int j = 0;
bool ok = 1;
for (int i = 0; i < n; i++)
{
if (a[i] < n)
{
ok = 0;
j = (i - a[i] + n) % n;
break;
}
}
if (ok)
return 1;
for (int k = 0; k < n; k++, j++)
{
if (a[j % n] < n && a[j % n] != k)
{
return 0;
}
}
return 1;
}
//----------------------
int replacement(int n, int sequence[], int ans[])
{
vector<int> a(sequence, sequence + n);
int index = 0;
set<pair<int, int>> p;
int now = n;
int j = 0;
for (int i = 0; i < n; i++)
{
if (a[i] > n)
{
p.insert({a[i], i});
}
else
j = (i - (a[i] - 1)) % n;
}
// cerr << j << endl;
while (p.size())
{
int mx = p.begin()->first;
int idx = p.begin()->second;
// auto sp = *p.begin();
p.erase(p.begin());
for (; now < mx; now++, index++)
{
ans[index] = (idx - j + n) % n + 1;
}
}
return index;
}
//----------------------
int countReplacement(int n, int inputSeq[])
{
return -3;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |