# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
204889 |
2020-02-27T12:19:30 Z |
MetB |
Languages (IOI10_languages) |
C++14 |
|
9776 ms |
69836 KB |
#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 time |
Memory |
Grader output |
1 |
Correct |
8450 ms |
69836 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
9776 ms |
69612 KB |
Output is partially correct - 86.63% |