Submission #334476

#TimeUsernameProblemLanguageResultExecution timeMemory
334476amunduzbaevChessboard (IZhO18_chessboard)C++14
39 / 100
113 ms1536 KiB
#include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back #define mp make_pair #define ub upper_bound #define lb lower_bound #define ll long long #define ld long double #define pii pair<int, int> #define sz(x) (int)x.size() #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(),x.rend() #define prc(n) fixed << setprecision(n) #define fastios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define pi acos(-1); const int inf = 1e9+7; const int N = 1; vector<pii>vv; ll ans, n, k; void check(ll size){ ll rem1 = ((n/size) * (n/size) +1)/2ll * size * size, er1 = 0; for(int i=0;i<sz(vv);i++){ ll x = vv[i].ff / size, y = vv[i].ss / size; if((x + y) %2 == 0) rem1--; else er1++; } ans = min(ans, er1 + rem1); rem1 = ((n/size)* (n/size))/2ll * size * size, er1 = 0; for(int i=0;i<sz(vv);i++){ ll x = vv[i].ff / size, y = vv[i].ss / size; if((x + y) % 2) rem1--; else er1++; } ans = min(ans, er1 + rem1); } void solve(){ fastios ans = (ll)inf; cin>>n>>k; for(int i=0;i<k;i++){ ll a, b, c, d; cin>>a>>b>>c>>d; vv.pb({--a, --b}); } check(1); for(ll i=2;i *1ll * i<=n;i++){ if(n % i == 0){ check(i); check(n/i); } } cout<<ans<<"\n"; return; } /* 6 8 1 2 1 2 2 1 2 1 3 3 3 3 3 4 3 4 4 3 4 3 4 4 4 4 3 6 3 6 5 5 5 5 */ int main(){ fastios int t = 1; //cin>>t; while(t--) solve(); 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...