Submission #1312814

#TimeUsernameProblemLanguageResultExecution timeMemory
1312814arman.khachatryanChessboard (IZhO18_chessboard)C++20
39 / 100
86 ms1936 KiB
#include <bits/stdc++.h> using namespace std; const int INF=1e9+10; int main() { int n, k; while(cin>>n>>k){ int x[k], x2[k], y[k], y2[k]; for(int i=0; i<k; i++){ cin>>x[i]>>y[i]>>x2[i]>>y2[i]; } vector<int> v; for(int i=1; i<=sqrtl(n); i++){ if(n%i==0){ v.push_back(i); if(n!=i*i && i!=1){ v.push_back(n/i); } } } int ans=INF, last_ans_b, last_ans_w; for(auto& p : v){ last_ans_b=(((n/p)+1)>>1)*(((n/p)+1)>>1)*p*p+(n/p/2)*(n/p/2)*p*p; last_ans_w=n*n-last_ans_b; for(int i=0; i<k; i++){ int k=x[i]/p, d=y[i]/p; if(k*p<x[i]){ k++; } if(d*p<y[i]){ d++; } k%=2; d%=2; if(k+d==1){ last_ans_b++; last_ans_w--; }else{ last_ans_b--; last_ans_w++; } } ans=min(ans, min(last_ans_b, last_ans_w)); } cout<<ans<<'\n'; } }
#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...