제출 #413622

#제출 시각아이디문제언어결과실행 시간메모리
413622KoDArt Class (IOI13_artclass)C++17
100 / 100
98 ms11884 KiB
#include <bits/stdc++.h> #include "artclass.h" template <class T> using Vec = std::vector<T>; int solve(const int N, const Vec<int> R, const Vec<int> G, const Vec<int> B, const std::array<int, 4> D) { int sum = 0, cnt = 0; for (int i = 0; i < N; ++i) { for (const auto d: D) { const auto j = i + d; if (0 <= j and j < N) { sum += std::abs(R[i] - R[j]) + std::abs(G[i] - G[j]) + std::abs(B[i] - B[j]); cnt += 1; } } } // std::cerr << std::fixed << std::setprecision(10); // std::cerr << (double) sum / cnt << std::endl; if (sum <= 9 * cnt) { return 4; } if (sum <= 24 * cnt) { return 1; } if (sum >= 55 * cnt) { return 3; } return 2; } int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) { const int N = H * W; Vec<int> r(N), g(N), b(N); for (int i = 0; i < H; ++i) { for (int j = 0; j < W; ++j) { r[i * W + j] = R[i][j]; g[i * W + j] = G[i][j]; b[i * W + j] = B[i][j]; } } return solve(N, r, g, b, std::array<int, 4>{W, 1, -W, -1}); }
#Verdict Execution timeMemoryGrader output
Fetching results...