This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long lint;
const int maxn = 100004;
int n, k, x1[maxn], y1[maxn], x2[maxn], y2[maxn];
lint s;
int main() {
ios_base::sync_with_stdio(0); cin.tie(0);
cin >> n >> k;
for (int i=0; i<k; i++) {
cin >> x1[i] >> y1[i] >> x2[i] >> y2[i];
x1[i]--; y1[i]--; x2[i]--; y2[i]--;
s += (x2[i] - x1[i] + 1) * (lint)(y2[i] - y1[i] + 1);
}
lint ans = 1ll << 50;
for (lint i=1; i<n; i++) if (n%i == 0) {
lint t = 0, a, b;
a = ((n/i) * (n/i) + 1) / 2 * i * i;
b = ((n/i) * (n/i)) / 2 * i * i;
for (int j=0; j<k; j++) {
if ((x1[j]/i) % 2 == (y1[j]/i) % 2) t++;
}
ans = min(ans, (a - t) + (s-t));
ans = min(ans, (b - (s-t)) + t);
}
cout << ans << '\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |