# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1145262 | lucaskojima | Gondola (IOI14_gondola) | C++17 | 0 ms | 0 KiB |
#include "bits/stdc++.h"
#include "gondola.h"
#define ff first
#define ss second
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define sz(x) (int)(x).size()
using namespace std;
using ll = long long;
using pii = pair<int, int>;
const char nl = '\n';
const ll LINF = 0x3f3f3f3f3f3f3f3f;
const int INF = 0x3f3f3f3f;
int valid(int n, int inputSeq[]) {
vector<int> v(n);
for (int i = 0; i < n; i++)
v[i] = inputSeq[i];
map<int, int> mp;
for (int i = 0; i < n; i++) {
if (mp[v[i]] > 0)
return 0;
mp[v[i]]++;
}
int p = 0;
while (p < n && v[p] > n) p++;
if (p == n) return 1;
int val = v[p];
for (int i = p; i < n; i++) {
if (v[i] <= n && v[i] != val)
return 0;
val == n ? val = 1 : val++;
}
return 1;
}
int replacement(int n, int gondolaSeq[], int replacementSeq[]) {
vector<int> v(n);
for (int i = 0; i < n; i++)
v[i] = inputSeq[i];
map<int, int> marc;
for (int i = 0; i < n; i++)
marc[v[i]] = 1;
int mx = *max_element(all(v));
int ans = 0;
for (int i = 1; i <= mx; i++)
if (marc[i] == 0)
ans++;
return ans;
}
int countReplacement(int n, int inputSeq[]) {
return -3;
}