Submission #201521

#TimeUsernameProblemLanguageResultExecution timeMemory
201521luciocfLanguages (IOI10_languages)C++14
34 / 100
4728 ms580 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) { map<int, bool> aparece; ++vez; if (vez == 1) { lang[vez] = language(1); map<int, int> mark; for (int i = 1; i <= 100; i++) { ant[lang[1]][i] = E[i-1]; if (!mark[E[i-1]]) { qtd[lang[1]]++; mark[E[i-1]] = 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; 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]; qtd[lang[vez]] = diff; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...