Submission #1216551

#TimeUsernameProblemLanguageResultExecution timeMemory
1216551wazj2024Art Class (IOI13_artclass)C++20
12 / 100
31 ms3336 KiB
#include "artclass.h" #include <cmath> int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) { long long sumR = 0, sumG = 0, sumB = 0; long long sumR2 = 0, sumG2 = 0, sumB2 = 0; long long sumRG = 0, sumRB = 0, sumGB = 0; for (int i = 0; i < H; ++i) { for (int j = 0; j < W; ++j) { int r = R[i][j], g = G[i][j], b = B[i][j]; sumR += r; sumG += g; sumB += b; sumR2 += r * r; sumG2 += g * g; sumB2 += b * b; sumRG += abs(r - g); sumRB += abs(r - b); sumGB += abs(g - b); } } int pixels = H * W; double avgR = sumR / (double)pixels; double avgG = sumG / (double)pixels; double avgB = sumB / (double)pixels; double stdR = sqrt(sumR2 / (double)pixels - avgR * avgR); double stdG = sqrt(sumG2 / (double)pixels - avgG * avgG); double stdB = sqrt(sumB2 / (double)pixels - avgB * avgB); double avgRG = sumRG / (double)pixels; double avgRB = sumRB / (double)pixels; double avgGB = sumGB / (double)pixels; if ((stdR + stdG + stdB) / 3 < 40 && (avgRB > 100 || avgRG > 70)) return 4; if (avgR > 170 && avgR > avgG && avgR > avgB) return 1; if (avgG > avgR && avgG > avgB && stdG < 60) return 2; return 3; }
#Verdict Execution timeMemoryGrader output
Fetching results...