Submission #131309

#TimeUsernameProblemLanguageResultExecution timeMemory
131309dragonslayeritLanguages (IOI10_languages)C++14
0 / 100
6854 ms262144 KiB
#include <stdlib.h> #include <stdio.h> #include <set> #include <map> #include <algorithm> #include <stdint.h> #include <unordered_map> #include <vector> #include "grader.h" #include "lang.h" #define SZ 100 std::unordered_map<uint64_t,int> had[56]; int seen[56]; void excerpt(int *E) { std::vector<uint64_t> trigrams; for(int i=0;i<100-2;i++){ trigrams.push_back(uint64_t(E[i])<<24|uint64_t(E[i+1])<<16|uint64_t(E[i+2])); } double sim[56]={}; for(int l=0;l<56;l++){ if(!seen[l]) continue; for(uint64_t c:trigrams){ sim[l]+=had[l][c]; } sim[l]/=(seen[l]); } int guess=std::max_element(sim,sim+56)-sim; int ans=language(guess); for(uint64_t c:trigrams){ had[ans][c]++; } seen[ans]++; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...