# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
762203 | SanguineChameleon | Art Class (IOI13_artclass) | C++17 | 44 ms | 3856 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "artclass.h"
#include <bits/stdc++.h>
using namespace std;
int A[16][3];
int E[4][16][3];
int style(int N, int M, int R[500][500], int G[500][500], int B[500][500]) {
E[0][0][0] = 117813;
E[0][0][1] = 169672;
E[0][0][2] = 360823;
E[0][1][0] = 91308;
E[0][1][1] = 106136;
E[0][1][2] = 112897;
E[0][2][0] = 46490;
E[0][2][1] = 43535;
E[0][2][2] = 56880;
E[0][3][0] = 37119;
E[0][3][1] = 55920;
E[0][3][2] = 138570;
E[0][4][0] = 38837;
E[0][4][1] = 183685;
E[0][4][2] = 61306;
E[0][5][0] = 37646;
E[0][5][1] = 48412;
E[0][5][2] = 17764;
E[0][6][0] = 25764;
E[0][6][1] = 22005;
E[0][6][2] = 17492;
E[0][7][0] = 10538;
E[0][7][1] = 14175;
E[0][7][2] = 20322;
E[0][8][0] = 13135;
E[0][8][1] = 30015;
E[0][8][2] = 21224;
E[0][9][0] = 50997;
E[0][9][1] = 37497;
E[0][9][2] = 26376;
E[0][10][0] = 55379;
E[0][10][1] = 58988;
E[0][10][2] = 40409;
E[0][11][0] = 68995;
E[0][11][1] = 68395;
E[0][11][2] = 89622;
E[0][12][0] = 62152;
E[0][12][1] = 78535;
E[0][12][2] = 94235;
E[0][13][0] = 171559;
E[0][13][1] = 254204;
E[0][13][2] = 186227;
E[0][14][0] = 557953;
E[0][14][1] = 453776;
E[0][14][2] = 515995;
E[0][15][0] = 677815;
E[0][15][1] = 438550;
E[0][15][2] = 303358;
E[1][0][0] = 82449;
E[1][0][1] = 54589;
E[1][0][2] = 149467;
E[1][1][0] = 117548;
E[1][1][1] = 112931;
E[1][1][2] = 340454;
E[1][2][0] = 152239;
E[1][2][1] = 133838;
E[1][2][2] = 381834;
E[1][3][0] = 182412;
E[1][3][1] = 171352;
E[1][3][2] = 262026;
E[1][4][0] = 183406;
E[1][4][1] = 218930;
E[1][4][2] = 163002;
E[1][5][0] = 171810;
E[1][5][1] = 227343;
E[1][5][2] = 103174;
E[1][6][0] = 152013;
E[1][6][1] = 203431;
E[1][6][2] = 64168;
E[1][7][0] = 136679;
E[1][7][1] = 158114;
E[1][7][2] = 49128;
E[1][8][0] = 125171;
E[1][8][1] = 119679;
E[1][8][2] = 50690;
E[1][9][0] = 111280;
E[1][9][1] = 91378;
E[1][9][2] = 53208;
E[1][10][0] = 92923;
E[1][10][1] = 90097;
E[1][10][2] = 48118;
E[1][11][0] = 84075;
E[1][11][1] = 98055;
E[1][11][2] = 38024;
E[1][12][0] = 81082;
E[1][12][1] = 45014;
E[1][12][2] = 18113;
E[1][13][0] = 47464;
E[1][13][1] = 25158;
E[1][13][2] = 28326;
E[1][14][0] = 14409;
E[1][14][1] = 6667;
E[1][14][2] = 7258;
E[1][15][0] = 22040;
E[1][15][1] = 424;
E[1][15][2] = 10;
E[2][0][0] = 17070;
E[2][0][1] = 25669;
E[2][0][2] = 99799;
E[2][1][0] = 35355;
E[2][1][1] = 51710;
E[2][1][2] = 75189;
E[2][2][0] = 68775;
E[2][2][1] = 73169;
E[2][2][2] = 83366;
E[2][3][0] = 81974;
E[2][3][1] = 84130;
E[2][3][2] = 91913;
E[2][4][0] = 87336;
E[2][4][1] = 94656;
E[2][4][2] = 100960;
E[2][5][0] = 92681;
E[2][5][1] = 107064;
E[2][5][2] = 108587;
E[2][6][0] = 91993;
E[2][6][1] = 114906;
E[2][6][2] = 115142;
E[2][7][0] = 92762;
E[2][7][1] = 110131;
E[2][7][2] = 114968;
E[2][8][0] = 90783;
E[2][8][1] = 98442;
E[2][8][2] = 106538;
E[2][9][0] = 87485;
E[2][9][1] = 91896;
E[2][9][2] = 96344;
E[2][10][0] = 87184;
E[2][10][1] = 86209;
E[2][10][2] = 87742;
E[2][11][0] = 88455;
E[2][11][1] = 84645;
E[2][11][2] = 79309;
E[2][12][0] = 87342;
E[2][12][1] = 78510;
E[2][12][2] = 77952;
E[2][13][0] = 87426;
E[2][13][1] = 75898;
E[2][13][2] = 61694;
E[2][14][0] = 95467;
E[2][14][1] = 86689;
E[2][14][2] = 26618;
E[2][15][0] = 141412;
E[2][15][1] = 69776;
E[2][15][2] = 7379;
E[3][0][0] = 15187;
E[3][0][1] = 124698;
E[3][0][2] = 423033;
E[3][1][0] = 100287;
E[3][1][1] = 237104;
E[3][1][2] = 239942;
E[3][2][0] = 119306;
E[3][2][1] = 121758;
E[3][2][2] = 115918;
E[3][3][0] = 102973;
E[3][3][1] = 137541;
E[3][3][2] = 198254;
E[3][4][0] = 50208;
E[3][4][1] = 123012;
E[3][4][2] = 134949;
E[3][5][0] = 63903;
E[3][5][1] = 61074;
E[3][5][2] = 69371;
E[3][6][0] = 62329;
E[3][6][1] = 159896;
E[3][6][2] = 41105;
E[3][7][0] = 5010;
E[3][7][1] = 94781;
E[3][7][2] = 28173;
E[3][8][0] = 3218;
E[3][8][1] = 67438;
E[3][8][2] = 22061;
E[3][9][0] = 15323;
E[3][9][1] = 64954;
E[3][9][2] = 100541;
E[3][10][0] = 118759;
E[3][10][1] = 67481;
E[3][10][2] = 26805;
E[3][11][0] = 140834;
E[3][11][1] = 89382;
E[3][11][2] = 15632;
E[3][12][0] = 141169;
E[3][12][1] = 34455;
E[3][12][2] = 17455;
E[3][13][0] = 216707;
E[3][13][1] = 5516;
E[3][13][2] = 15089;
E[3][14][0] = 188796;
E[3][14][1] = 9557;
E[3][14][2] = 10622;
E[3][15][0] = 128991;
E[3][15][1] = 74353;
E[3][15][2] = 14050;
for (int i = 0; i < 16; i++) {
for (int j = 0; j < 3; j++) {
A[i][j] = 0;
}
}
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
A[R[i][j] / 16][0]++;
A[G[i][j] / 16][1]++;
A[B[i][j] / 16][2]++;
}
}
pair<long double, int> res = make_pair(1e18L, -1);
for (int X = 0; X < 4; X++) {
long double score = 0.0L;
for (int i = 0; i < 3; i++) {
int totA = 0;
int totE = 0;
for (int j = 0; j < 16; j++) {
totA += A[j][i];
totE += E[X][j][i];
}
for (int j = 0; j < 16; j++) {
long double exp = 1.0L * E[X][j][i] / totE * totA;
score += (exp - A[j][i]) * (exp - A[j][i]) / exp;
}
}
res = min(res, make_pair(score, X + 1));
}
return res.second;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |