Submission #434050

# Submission time Handle Problem Language Result Execution time Memory
434050 2021-06-20T14:28:41 Z KoD Languages (IOI10_languages) C++17
60 / 100
389 ms 2756 KB
#include <bits/stdc++.h>
#include "grader.h"
#include "lang.h"

#define SZ 100

int has[56][65536];

template <class T> using Vec = std::vector<T>;

void excerpt(int *E) {
    std::map<int, int> map;
    for (int i = 0; i < SZ; ++i) {
        map[E[i]] += 1;
    }
    Vec<std::pair<int, int>> vec;
    for (const auto [x, y] : map) {
        vec.emplace_back(y, x);
    }
    std::sort(vec.rbegin(), vec.rend());
    Vec<int> cand(56);
    std::iota(cand.begin(), cand.end(), 0);
    int ret = 0;
    for (const auto [y, x] : vec) {
        Vec<int> next;
        for (const auto t : cand) {
            if (has[t][x]) {
                next.push_back(t);
            }
        }
        if (next.empty()) {
            break;
        }
        cand = std::move(next);
    }
    int max = -1;
    for (const auto t : cand) {
        int cnt = 0;
        for (const auto [x, y] : map) {
            cnt += has[t][x];
        }
        if (max < cnt) {
            max = cnt;
            ret = t;
        }
    }
    const int type = language(ret);
    for (int i = 0; i < SZ; ++i) {
        has[type][E[i]] += 1;
    }
}
# Verdict Execution time Memory Grader output
1 Correct 389 ms 2756 KB Output is correct
# Verdict Execution time Memory Grader output
1 Partially correct 300 ms 2728 KB Output is partially correct - 56.11%