Submission #776964

#TimeUsernameProblemLanguageResultExecution timeMemory
776964caganyanmazArt Class (IOI13_artclass)C++17
93 / 100
62 ms6836 KiB
#include "artclass.h" #include <bits/stdc++.h> using namespace std; constexpr static int MXSIZE = 500; constexpr static int CHANNEL = 3; array<int, 3> image[MXSIZE][MXSIZE]; constexpr static int MINDIFF = 10; const static double FAC = 0.00392156862; const static double WHITE_T = 0.65; const static double BRIGHT_T = 0.7; int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) { for (int i = 0; i < H; i++) for (int j = 0; j < W; j++) image[i][j] = {R[i][j], G[i][j], B[i][j]}; int64_t vc = 0; int64_t hc = 0; array<int64_t,3> tc ({0, 0, 0}); double sum_y = 0; int bright = 0; int white = 0; for (int i = 0; i < H-1; i++) { for (int j = 0; j < W-1; j++) { for (int c = 0; c < CHANNEL; c++) { vc += abs(image[i][j][c] - image[i+1][j][c]); hc += abs(image[i][j][c] - image[i][j+1][c]); } double r = image[i][j][0] * FAC, g = image[i][j][1] * FAC, b = image[i][j][2] * FAC; double l = 0.2126 * r + 0.7152 * g + 0.0722 * b; if (l > BRIGHT_T) bright++; if ((r > WHITE_T) && (g > WHITE_T) && (b > WHITE_T)) white++; } } int64_t total_size = H*W; int64_t change = vc + hc; int difference = change / total_size; if (difference <= 15) return 4; if (difference > 90) return 3; double bright_r = (double)bright / total_size; double white_r = (double)white / total_size; double d = (double)difference * FAC; if (white_r > 0.3) return 1; return 2; }

Compilation message (stderr)

artclass.cpp: In function 'int style(int, int, int (*)[500], int (*)[500], int (*)[500])':
artclass.cpp:21:16: warning: unused variable 'sum_y' [-Wunused-variable]
   21 |         double sum_y = 0;
      |                ^~~~~
artclass.cpp:48:16: warning: unused variable 'bright_r' [-Wunused-variable]
   48 |         double bright_r = (double)bright / total_size;
      |                ^~~~~~~~
artclass.cpp:50:16: warning: unused variable 'd' [-Wunused-variable]
   50 |         double d = (double)difference * FAC;
      |                ^
#Verdict Execution timeMemoryGrader output
Fetching results...