Submission #844060

#TimeUsernameProblemLanguageResultExecution timeMemory
844060GrandTiger1729Chessboard (IZhO18_chessboard)C++17
0 / 100
571 ms860 KiB
#include <bits/stdc++.h> using namespace std; struct Data { int x1, y1, x2, y2; Data() = default; Data(int _x1, int _y1, int _x2, int _y2) : x1(_x1), y1(_y1), x2(_x2), y2(_y2) {} }; const long long INF = 1e18; int main() { cin.tie(0)->sync_with_stdio(0); freopen("in.in", "r", stdin); freopen("out.out", "w", stdout); int M, n; cin >> M >> n; vector<Data> a(n); for (int i = 0; i < n; i++) { int x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2; x1--, y1--; a[i] = Data(x1, y1, x2, y2); } auto solve = [&](int K) -> long long { long long ret1 = (1ll * (M / K) * (M / K) / 2 + M / K % 2) * K * K; for (int i = 0; i < n; i++) { int xx = a[i].x1 / K, yy = a[i].y1 / K; if ((xx + yy) % 2 == 0) ret1--; else ret1++; } long long ret2 = (1ll * (M / K) * (M / K) / 2) * K * K; for (int i = 0; i < n; i++) { int xx = a[i].x1 / K, yy = a[i].y1 / K; if ((xx + yy) % 2 == 1) ret2--; else ret2++; } return min(ret1, ret2); }; long long ans = INF; for (int t = 1; t < M; t++) if (M % t == 0) ans = min(ans, solve(t)); cout << ans << '\n'; return 0; }

Compilation message (stderr)

chessboard.cpp: In function 'int main()':
chessboard.cpp:15:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |     freopen("in.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
chessboard.cpp:16:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |     freopen("out.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...