This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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<int> 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(int 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(int c:trigrams){
had[ans][c]++;
}
seen[ans]++;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |