Submission #341348

#TimeUsernameProblemLanguageResultExecution timeMemory
341348TosicChessboard (IZhO18_chessboard)C++14
39 / 100
94 ms1536 KiB
#include <bits/stdc++.h> using namespace std; int n, k; long long ans; vector<pair<int, int> > allW; void tryFor(int d){ if(d == n){ return; } // 0 0 is black long long blArea = 1LL*d*d*(((n/d)*(n/d)+1)/2); for(auto i : allW){ if( (i.first/d + i.second/d)%2 ){ blArea++; } else { blArea--; } } ans = min(ans, blArea); // 0 0 is BUANA blArea = 1ll*d*d*(((n/d)*(n/d))/2); for(auto i : allW){ //cerr << i.first/d + i.second/d << '\n'; if( (i.first/d + i.second/d)%2 ){ blArea--; } else { blArea++; } } ans = min(ans, blArea); return; } int main(){ ios_base::sync_with_stdio(0); cout.tie(0); cin.tie(0); cin >> n >> k; ans = 1e10; for(int i = 0; i < k; ++i){ int x, y; cin >> x >> y; cin >> x >> y; --x,--y; allW.push_back({x,y}); } for(int i = 1; i*i <= n; ++i){ if(n%i == 0){ tryFor(n/i); tryFor(i); } } 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...