Submission #168452

#TimeUsernameProblemLanguageResultExecution timeMemory
168452David_MChessboard (IZhO18_chessboard)C++14
70 / 100
626 ms8320 KiB
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
using namespace std; 
const ll N=100005, INF=1e17;
ll n, m, a[N], b[N], c[N], d[N], x, y, Ans=INF, ans1, ans2;
string s;
vector <int> v[N];
/*int abc(int x, int y, int X, int Y, int k, int o){
	
}*/
int main(){
	cin>>n>>m;
	for (int i=1; i<=m; i++)
		cin>>a[i]>>b[i]>>c[i]>>d[i];

	for (ll i=1; i<n; i++){
		if(n%i==0){ans1=(((n/i)*(n/i)+1)/2)*(i*i), ans2=(((n/i)*(n/i))/2)*(i*i);
			//cout<<ans1<<" "<<ans2<<endl;
			for (int j=1; j<=m; j++){
				//ans+=abc(a[j], b[j], c[j], d[j], i, 0);
				if((((a[j]-1)/i)+((b[j]-1)/i))%2==0) ans1--, ans2++; 
											else ans1++, ans2--;
			}
			//if(Ans>ans1)Ans=ans1, x=i, y=1;
			//if(Ans>ans2)Ans=ans2, x=i, y=2;
			
			Ans=min(Ans,min(ans1, ans2));
		}
	}
	cout<<Ans/*<<x<<y*/;
}
#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...