제출 #1108412

#제출 시각아이디문제언어결과실행 시간메모리
1108412MuhammetChessboard (IZhO18_chessboard)C++17
8 / 100
16 ms2896 KiB
#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 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...