Submission #378517

#TimeUsernameProblemLanguageResultExecution timeMemory
378517jass921026Chessboard (IZhO18_chessboard)C++14
39 / 100
74 ms1132 KiB
#include<bits/stdc++.h> using namespace std; #define jizz ios_base::sync_with_stdio(false);cin.tie(NULL); typedef long long ll; typedef pair<int,int> pii; #define F first #define S second #define FOR(i,n) for(int i=0;i<n;i++) #define FOO(i,a,b) for(int i=a;i<=b;i++) #define OOF(i,a,b) for(int i=a;i>=b;i--) #define ALL(x) (x).begin(),(x).end() #define pb push_back #define mkp make_pair const int MAXN=1E5+10; int n, k; pii point[MAXN]; ll solve(int i){ ll col=i*i*(((n/i)*(n/i)+1)/2), rights=0, wrongs=0; for(int j=0;j<k;j++){ if((point[j].F/i)%2==(point[j].S/i)%2){ rights++; } else{ wrongs++; } } return min(col-rights+wrongs,(n*n-col)-wrongs+rights); } int main(){ jizz cin>>n>>k; FOR(i,k){ int x1, y1, x2, y2; cin>>x1>>y1>>x2>>y2; point[i]=mkp(x1-1,y1-1); } ll ans=n*n; for(int i=1;i*i<=n;i++){ if(n%i==0){ ans=min(ans,solve(i)); if(i>1) ans=min(ans,solve(n/i)); } } cout<<ans<<"\n"; return 0; } /* 6 8 3 3 3 3 1 2 1 2 3 4 3 4 5 5 5 5 4 3 4 3 4 4 4 4 2 1 2 1 3 6 3 6 */
#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...