Submission #131306

#TimeUsernameProblemLanguageResultExecution timeMemory
131306dragonslayeritLanguages (IOI10_languages)C++14
0 / 100
9067 ms262148 KiB
#include <stdlib.h>
#include <stdio.h>
#include <set>
#include <map>
#include <algorithm>
#include <stdint.h>
#include <unordered_map>
#include <set>
     
#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::multiset<int> distinct;
  for(int i=0;i<100-2;i++){
    distinct.insert(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:distinct){
      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:distinct){
    had[ans][c]++;
  }
  seen[ans]++;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...