Submission #699616

#TimeUsernameProblemLanguageResultExecution timeMemory
699616qwerasdfzxclLanguages (IOI10_languages)C++17
0 / 100
10085 ms38500 KiB
#include "grader.h" #include "lang.h" #include <bits/stdc++.h> typedef long long ll; using namespace std; constexpr ll DIG = 1e5, B = 57; unordered_set<int> st[101]; unordered_set<ll> st2[101]; unordered_set<ll> st3[101]; unordered_set<ll> st4[101]; void push(int *E, int typ){ for (int i=0;i<100;i++) st[typ].insert(E[i]); for (int i=0;i<99;i++) st2[typ].insert(E[i]*DIG + E[i+1]); for (int i=0;i<98;i++) st3[typ].insert(E[i]*DIG*DIG + E[i+1]*DIG + E[i+2]); for (int i=0;i<97;i++) st4[typ].insert(E[i]*DIG*DIG*DIG + E[i+1]*DIG*DIG + E[i+2]*DIG + E[i+3]); } int calc(int *E, int typ){ int ret = 0; for (int i=0;i<100;i++){ if (st[typ].find(E[i])==st[typ].end()) ret++; } for (int i=0;i<99;i++){ if (st2[typ].find(E[i]*DIG + E[i+1])==st2[typ].end()) ret++; } for (int i=0;i<98;i++){ if (st3[typ].find(E[i]*DIG*DIG + E[i+1]*DIG + E[i+2])==st3[typ].end()) ret++; } for (int i=0;i<97;i++){ if (st4[typ].find(E[i]*DIG*DIG*DIG + E[i+1]*DIG*DIG + E[i+2]*DIG + E[i+3])==st4[typ].end()) ret++; } return ret; } void excerpt(int *E){ int mn = 1e9, idx = -1; for (int i=0;i<56;i++){ int score = calc(E, i); if (score < mn){ mn = score; idx = i; } } push(E, language(idx)); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...