Submission #201520

#TimeUsernameProblemLanguageResultExecution timeMemory
201520luciocfLanguages (IOI10_languages)C++14
38 / 100
2605 ms636 KiB
#include <bits/stdc++.h> #include "grader.h" #include "lang.h" #define SZ 100 using namespace std; int ant[60][110]; int qtd[60]; int lang[10010]; int vez; void excerpt(int *E) { unordered_map<int, bool> aparece; ++vez; if (vez == 1) { lang[vez] = language(1); for (int i = 1; i <= 100; i++) ant[lang[1]][i] = E[i-1]; return; } for (int i = 1; i <= 100; i++) aparece[E[i-1]] = 1; int opt = 1; int mx_ig = 0; for (int i = 1; i < 60; i++) { if (ant[i][1] == 0) continue; unordered_set<int> dist; for (int j = 1; j <= 100; j++) if (aparece[ant[i][j]]) dist.insert(ant[i][j]); if ((int)dist.size() > mx_ig) opt = i, mx_ig = (int)dist.size(); } lang[vez] = language(opt); map<int, bool> mark; int diff = 0; for (int i = 1; i <= 100; i++) { if (!mark[E[i-1]]) { diff++; mark[E[i-1]] = 1; } } if (diff > qtd[lang[vez]]) for (int i = 1; i <= 100; i++) ant[lang[vez]][i] = E[i-1]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...