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 <lang.h>
#include <set>
#include <map>
#include <grader.h>
using namespace std;
int slo[60][70000];
int counter[60];
int abs(int x){
if(x > 0) return x;
return -x;
}
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);
counter[correct]++;
for(int c : chars){
if(counter[correct] > 1) slo[correct][c] = (slo[correct][c] + val[c]) / 2;
else slo[correct][c] = val[c];
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |