Submission #1214255

#TimeUsernameProblemLanguageResultExecution timeMemory
1214255NeltHieroglyphs (IOI24_hieroglyphs)C++20
3 / 100
288 ms18160 KiB
#include "hieroglyphs.h"
#include <bits/stdc++.h>
#define ll long long
#define endl "\n"
using namespace std;

std::vector<int> ucs(std::vector<int> a, std::vector<int> b)
{
    set<ll> sa, sb;
    for (ll i : a)
        sa.insert(i);
    for (ll i : b)
        sb.insert(i);
    {
        vector<int> nv;
        for (ll i : a)
            if (sb.count(i))
                nv.push_back(i);
        a = nv;
        nv.clear();
        for (ll i : b)
            if (sa.count(i))
                nv.push_back(i);
        b = nv;
    }
    vector<int> ans, ans1, ans2, ans3;
    set<ll> s;
    for (ll i : a)
        if (!s.count(i))
            ans.push_back(i), s.insert(i);
    s.clear();
    for (ll i : b)
        if (!s.count(i))
            ans1.push_back(i), s.insert(i);
    s.clear();
    for (ll i = (ll)a.size() - 1; i >= 0; i--) if (!s.count(a[i])) ans2.push_back(a[i]), s.insert(a[i]);
    s.clear();
    for (ll i = (ll)b.size() - 1; i >= 0; i--) if (!s.count(b[i])) ans3.push_back(b[i]), s.insert(b[i]);
    if (ans == ans1 and ans2 == ans3) return ans;
    return {-1};
}
#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...