Submission #90283

#TimeUsernameProblemLanguageResultExecution timeMemory
90283HardNutChessboard (IZhO18_chessboard)C++17
39 / 100
66 ms9488 KiB
#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 5; const long long INF = 1e9 + 5; const int MAXN = 1e6; const int base = 317; typedef long long ll; const ll bs = 1e5 + 1; const ll mod = 998244353; int ans = INF, n, k, xx[N], yy[N]; int calc(int x) { int res1 = 0, res2 = 0; for (int i = 1; i <= k; i++) { if ((xx[i] / x) % 2 == (yy[i] / x) % 2) { res1++; } else { res2++; } } int c1 = (n / x) * (n / x) / 2 * x * x; int c2 = n * n - c1; return min(c1 - res2 + res1, c2 - res1 + res2); } main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> k; for (int i = 1; i <= k; i++) { cin >> xx[i] >> yy[i] >> xx[i] >> yy[i]; xx[i]--; yy[i]--; } for (int i = 1; i <= sqrt(n); i++) { if (n % i == 0) { ans = min(ans, calc(i)); if (i != 1) ans = min(ans, calc(n / i)); } } cout << ans; return 0; } /* */

Compilation message (stderr)

chessboard.cpp:31:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main() {
      ^
#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...