Submission #358527

#TimeUsernameProblemLanguageResultExecution timeMemory
358527idk321Languages (IOI10_languages)C++11
0 / 100
10057 ms4756 KiB
#include <stdlib.h> #include <stdio.h> #include "grader.h" #include "lang.h" #define SZ 100 #include <bits/stdc++.h> using namespace std; typedef long long ll; unordered_map<int, ll> freq [56]; bool vis[56]; int c = 0; void excerpt(int *E) { unordered_map<int, ll> cfreq; for (int i = 0; i < 100; i++) { cfreq[E[i]]++; } ll best = -1; ll bscore = -1; ll factor = 1000000000; for (int i = 0; i < 56; i++) { double score = 0; for (auto it = freq[i].begin(); it != freq[i].end(); it++) { if (it->second != 0 && cfreq[it->first] != 0) { score += factor; score -= abs(it->second - cfreq[it->first]) * (factor) / 10; } } if (score > bscore) { best = i; bscore = score; } } int actual = language(best); if (!vis[actual]) { vis[actual] = true; freq[actual] = cfreq; } else { unordered_map<int, ll> nfreq; for (auto it = freq[actual].begin(); it != freq[actual].end(); it++) { nfreq[it->first] = (it-> second + cfreq[it->first]) / 2; } for (auto it = cfreq.begin(); it != cfreq.end(); it++) { nfreq[it->first] = (it-> second + freq[actual][it->first]) / 2; } freq[actual] = nfreq; } c++; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...