Submission #204889

#TimeUsernameProblemLanguageResultExecution timeMemory
204889MetBLanguages (IOI10_languages)C++14
95 / 100
9776 ms69836 KiB
#include <bits/stdc++.h> #include "grader.h" #include "lang.h" using namespace std; int a[5][56][100000], b[5][100000]; int cnt[5][100000]; const int MOD = 100000; void excerpt (int* E) { int n = 100; memset (cnt, 0, sizeof (cnt)); std::set <int> s[5]; for (int i = 0; i < 100; i++) { for (int j = 0; j < min (4, n - i); j++) { int val = 1; for (int k = 0; k <= j; k++) val = val * E[i+k] % MOD; cnt[j][val]++; s[j].insert (val); } } double mx = 0; int x = 0; for (int i = 0; i < 56; i++) { double points = 0; for (int k = 0; k < 4; k++) { for (int j : s[k]) { if (b[k][j]) points += cnt[k][j] * ((double) a[k][i][j] / b[k][j]) * (k + 1); } } if (mx < points) { mx = points; x = i; } } x = language (x); for (int i = 0; i < 100; i++) { for (int j = 0; j < min (4, n - i); j++) { int val = 1; for (int k = 0; k <= j; k++) val = val * E[i+k] % MOD; a[j][x][val]++; b[j][val]++; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...