# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
575355 | drekavacc | Languages (IOI10_languages) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <lang.h>
#include <set>
#include <grader.h>
using namespace std;
int slo[60][70000];
void excerpt(int *a){
set<int> chars;
map<int, int> val;
for(int i=0; i<100; i++) chars.insert(a[i]), val[a[i]]++;
int best = 0;
int mdif = 1000000;
for(int l=0; l<56; l++){
int cd = 0;
for(int c : chars){
cd += abs(val[c] - slo[l][c]);
}
if(cd < mdif){
mdif = cd;
best = l;
}
int correct = language(best);
for(char c : chars){
slo[correct] = (slo[correct][c] + val[c]) / 2;
}
}
}