Submission #65834

#TimeUsernameProblemLanguageResultExecution timeMemory
65834ho94949Languages (IOI10_languages)C++17
69 / 100
512 ms9348 KiB
#include <stdlib.h> #include <stdio.h> #include <map> using namespace std; #include "grader.h" #include "lang.h" #define SZ 100 #define LANG 56 int A[LANG][65536]; int appear[LANG]; void excerpt(int *E) { double langcnt[LANG]; for(int i=0;i<LANG;i++) langcnt[i]=0; for(int i=0;i<SZ-1;i++){ unsigned int triplet=((E[i]*53)+E[i+1])&65535; for(int j=0;j<LANG;j++){ int v = A[j][triplet]; langcnt[j] += (double)v/(appear[j]+1); } } double max=0; int maxi=0; for(int i=0;i<LANG;i++){ if(max<langcnt[i]){ max=langcnt[i]; maxi=i; } } int res=language(maxi); appear[res]++; for(int i=0;i<SZ-1;i++){ unsigned int triplet=((E[i]*53)+E[i+1])&65535; A[res][triplet]=A[res][triplet]+1; } return; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...