Submission #237228

#TimeUsernameProblemLanguageResultExecution timeMemory
237228kshitij_sodaniChessboard (IZhO18_chessboard)C++17
39 / 100
99 ms2912 KiB
#include <bits/stdc++.h> using namespace std; typedef int64_t llo; #define mp make_pair #define pb push_back #define a first #define b second int n,k; int aa,bb,cc,dd; vector<pair<int,int>> cur; int check(int nn){ if(nn==n){ return n*n; } int co; if((n/nn)%2==0){ co=(n*n)/2; } else{ co=(n*n-nn*nn)/2; } //cout<<co<<":"; for(auto i:cur){ if((i.a/nn+i.b/nn)%2==1){ co-=1; } else{ co+=1; } } int co2; if((n/nn)%2==0){ co2=(n*n)/2; } else{ co2=(n*n+nn*nn)/2; } // cout<<co2<<endl; for(auto i:cur){ if((i.a/nn+i.b/nn)%2==0){ co2-=1; } else{ co2+=1; } } // cout<<nn<<","<<co<<","<<co2<<endl; return min(co,co2); } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cin>>n>>k; for(int i=0;i<k;i++){ cin>>aa>>bb>>cc>>dd; aa-=1; bb-=1; cur.pb({aa,bb}); } int ans=n*n; for(int i=1;i*i<=n;i++){ if(n%i==0){ ans=min(ans,check(i)); ans=min(ans,check(n/i)); } } cout<<ans<<endl; return 0; }
#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...