# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
2952 | 2013-08-18T13:50:02 Z | gs13068 | Languages (IOI10_languages) | C++ | 0 ms | 0 KB |
#include"grader.h" #include"lang.h" int langn[56]; int lang[56][65536]; int a[65536]; int b[100]; int c[100]; void excerpt(int *str) { double max=987654321,maxlang; double now; int i,j,n,sum; for(i=0;i<65536;i++)a[i]=0; for(i=0;i<100;i++)a[str[i]]++; j=0; for(i=0;i<65536;i++)if(a[i]) { b[j]=i; c[j]=a[i]; j++; } for(i=0;i<56;i++) { sum=65536+langn[i]; now=0; for(j=0;j<100;j++)now+=((lang[i][b[j]]+1.)/sum-c[j])*((lang[i][b[j]]+1.)/sum-c[j]); if(now<max) { max=now; maxlang=i; } } n=language(maxlang); langn[n]+=100; for(i=0;i<65536;i++)lang[n][i]+=count[i]; }