제출 #434071

#제출 시각아이디문제언어결과실행 시간메모리
434071KoDLanguages (IOI10_languages)C++17
79 / 100
6023 ms8996 KiB
#include <bits/stdc++.h> #include "grader.h" #include "lang.h" #define SZ 100 #define LN 56 #define LT 65536 int has[LN][LT]; std::array<std::map<std::pair<int, int>, int>, LN> pair; template <class T> using Vec = std::vector<T>; void excerpt(int *E) { std::array<long long, LN> point{}; for (int t = 0; t < LN; ++t) { for (int i = 0; i < SZ; ++i) { point[t] += (has[t][i] != 0); } for (int i = 0; i < SZ - 1; ++i) { const auto itr = pair[t].find(std::make_pair(E[i], E[i + 1])); point[t] += 5 * (itr == pair[t].end() ? 0 : 1); } } const int ret = std::max_element(point.begin(), point.end()) - point.begin(); const int type = language(ret); for (int i = 0; i < SZ; ++i) { has[type][E[i]] += 1; } for (int i = 0; i < SZ - 1; ++i) { pair[type][{E[i], E[i + 1]}] += 1; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...