#include "hieroglyphs.h"
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5, maxval = 2e5 + 5;
int N, M;
int Afreq[maxval], Bfreq[maxval];
int n, m;
vector<int> a, b;
int afreq[maxval], bfreq[maxval];
vector<int> ucs(vector<int> A, vector<int> B) {
N = A.size(), M = B.size();
for (int i:A) Afreq[i]++;
for (int i:B) Bfreq[i]++;
for (int i:A) if (Bfreq[i]) a.push_back(i);
for (int i:B) if (Afreq[i]) b.push_back(i);
n = a.size(), m = b.size();
vector<int> ansa;
for (int i=0;i<n;i++) {
if (afreq[a[i]] && a[i-1] != a[i]) return {-1};
if (!afreq[a[i]]) ansa.push_back(a[i]);
afreq[a[i]]++;
}
vector<int> ansb;
for (int i=0;i<m;i++) {
if (bfreq[a[i]] && b[i-1] != b[i]) return {-1};
if (!bfreq[a[i]]) ansb.push_back(b[i]);
bfreq[b[i]]++;
}
if (ansa != ansb) return {-1};
return ansa;
}
# | 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... |