Submission #1211711

#TimeUsernameProblemLanguageResultExecution timeMemory
1211711onbertHieroglyphs (IOI24_hieroglyphs)C++20
3 / 100
21 ms5440 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...