제출 #1326998

#제출 시각아이디문제언어결과실행 시간메모리
1326998skibidigodv9Languages (IOI10_languages)C++20
0 / 100
10 ms17208 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;

vector<int> filler(56, 0);
vector<vector<int>> single2D(65536, filler);
unordered_map<long long, int> doubleWeight;
long long singleConst = 100000000000, doubleConst = 180000000000;
//single[char][lang] = weight?

void excerpt(int* E) {
    int n = 100, i, j;
    vector<long long> langScore(56, 0);
    //singles
    i = -1; while (++i < n) {
        int v = E[i];
        long long S = 0;
        j = -1; while (++j < 56) {
            long long sv = single2D[v][j];
            S += sv*sv;
        }
        if (S == 0) {
            langScore[0]++;
        } else {
            long long sc = singleConst/S;
            j = -1; while (++j < 56) {
                long long sv = single2D[v][j];
                langScore[j] += sc*sv*sv;
            }
        }
    }
    long long bestLang = 0;
    i = -1; while (++i < n) {
        if (langScore[i] > langScore[bestLang]) bestLang = i;
    }
    long long L = language(bestLang);
    i = -1; while (++i < n) {
        int v = E[i];
        single2D[v][L]++;
    }
    //long long ok = language(0);
    return;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...