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 <bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ios::sync_with_stdio(false); cin.tie(nullptr);
ll n, k;
cin >> n >> k;
vector <int> x1(k+1), y1(k+1), x2(k+1), y2(k+1);
for(int i = 1; i <= k; i++){
cin >> x1[i] >> y1[i] >> x2[i] >> y2[i];
}
ll ans = n*n;
for(int x3 = 1; x3 < n; x3++){
if(n % x3 != 0) continue;
int x = (x3 * 2), cnt1 = 0, cnt2 = 0;
for(int i = 1; i <= k; i++){
if((x1[i] % x) <= (x / 2) and (x1[i] % x) != 0){
if((y1[i] % x) <= (x / 2) and (y1[i] % x) != 0) cnt1++;
else cnt2++;
}
else {
if((y1[i] % x) <= (x / 2) and (y1[i] % x) != 0) cnt2++;
else cnt1++;
}
}
ll y = ((x3 * x3) * (((n / x3) + 1) / 2) * (((n / x3) + 1) / 2)) + ((x3 * x3) * ((n / x3) / 2) * ((n / x3) / 2));
ans = min(ans, (y - cnt1 + (k-cnt2)));
ans = min(ans, (n*n - y) - cnt2 + (k-cnt1));
}
cout << ans;
}
# | 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... |