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;
int n, k;
long long ans;
vector<pair<int, int> > allW;
void tryFor(int d){
if(d == n){
return;
}
// 0 0 is black
long long blArea = 1LL*d*d*(((n/d)*(n/d)+1)/2);
for(auto i : allW){
if( (i.first/d + i.second/d)%2 ){
blArea++;
} else {
blArea--;
}
}
ans = min(ans, blArea);
// 0 0 is BUANA
blArea = 1ll*d*d*(((n/d)*(n/d))/2);
for(auto i : allW){
//cerr << i.first/d + i.second/d << '\n';
if( (i.first/d + i.second/d)%2 ){
blArea--;
} else {
blArea++;
}
}
ans = min(ans, blArea);
return;
}
int main(){
ios_base::sync_with_stdio(0);
cout.tie(0);
cin.tie(0);
cin >> n >> k;
ans = 1e10;
for(int i = 0; i < k; ++i){
int x, y;
cin >> x >> y;
cin >> x >> y;
--x,--y;
allW.push_back({x,y});
}
for(int i = 1; i*i <= n; ++i){
if(n%i == 0){
tryFor(n/i);
tryFor(i);
}
}
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... |