답안 #495257

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
495257 2021-12-18T08:12:37 Z ergagan Chessboard (IZhO18_chessboard) C++17
16 / 100
136 ms 292 KB
//я так много думал, что опять попал
#include <bits/stdc++.h>
#define all(x) x.begin(),x.end()
#define pb push_back
#define ppb pop_back
#define pf push_front
#define ppf pop_front
#define f first
#define s second
#define left(v) v + v
#define right(v) v + v + 1
#define ub upper_bound
#define lb lower_bound

using namespace std;
typedef long long ll;

//17 SEVENTEEN
const long double Pi = acos(-1.0);
const ll dx[] = {0,0,1,-1};
const ll dy[] = {1,-1,0,0};
const ll N = (ll) 1e6 + 17;
const ll M = (ll) 5e3 + 69;
const ll inf = (ll) 1e18 + 3;
const ll mod = (ll) 1e9 + 7;
ll sq(ll x) { return x * x; }

ll zxc = 1;

vector<ll> d;

map<pair<ll, ll>, ll> cnt;

void solve() {
    ll n, k;
    cin >> n >> k;
    for(ll i = 2; i * i <= n; i++) {
        if(!(n % i)) {
            d.pb(i);
            if(n / i != i) d.pb(n / i);
        }
    }
    d.pb(1);
    sort(all(d));

//    for(ll x : d) cout << x << "\n";

    while(k--) {
        ll x, y;
        cin >> x >> y >> x >> y;
        for(ll val : d)
            cnt[{val, (x / val + y / val) % 2}]++;
    }
    ll ans = inf;
    for(ll val : d) {
        ll m = n / val, x;

        if(m % 2) x = sq((m + 1) / 2) + sq(m / 2);
        else x = m * m / 2;

        ans = min(min(x * sq(val) - cnt[{val, 0}] + cnt[{val, 1}], sq(n) - x * sq(val) - cnt[{val, 1}] + cnt[{val, 0}]), ans);
    }
    cout << ans;
}

int main(/*Уверенно*/) {
//ios_base::sync_with_stdio(0);
//    cin.tie(0);
/*
	freopen(".in", "r", stdin);
	freopen(".out", "w", stdout);
*/
//    cin >> zxc;
    while(zxc--) {
        solve();
    }
  	return 0;
}
// さよならさ いかなくちゃ
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 0 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 73 ms 268 KB Output is correct
2 Correct 16 ms 204 KB Output is correct
3 Correct 45 ms 204 KB Output is correct
4 Correct 43 ms 292 KB Output is correct
5 Correct 72 ms 204 KB Output is correct
6 Correct 40 ms 284 KB Output is correct
7 Correct 9 ms 204 KB Output is correct
8 Correct 41 ms 272 KB Output is correct
9 Correct 136 ms 204 KB Output is correct
10 Correct 54 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 73 ms 268 KB Output is correct
2 Correct 16 ms 204 KB Output is correct
3 Correct 45 ms 204 KB Output is correct
4 Correct 43 ms 292 KB Output is correct
5 Correct 72 ms 204 KB Output is correct
6 Correct 40 ms 284 KB Output is correct
7 Correct 9 ms 204 KB Output is correct
8 Correct 41 ms 272 KB Output is correct
9 Correct 136 ms 204 KB Output is correct
10 Correct 54 ms 204 KB Output is correct
11 Incorrect 1 ms 204 KB Output isn't correct
12 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 0 ms 204 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 1 ms 204 KB Output is correct
7 Correct 0 ms 204 KB Output is correct
8 Correct 1 ms 204 KB Output is correct
9 Correct 73 ms 268 KB Output is correct
10 Correct 16 ms 204 KB Output is correct
11 Correct 45 ms 204 KB Output is correct
12 Correct 43 ms 292 KB Output is correct
13 Correct 72 ms 204 KB Output is correct
14 Correct 40 ms 284 KB Output is correct
15 Correct 9 ms 204 KB Output is correct
16 Correct 41 ms 272 KB Output is correct
17 Correct 136 ms 204 KB Output is correct
18 Correct 54 ms 204 KB Output is correct
19 Incorrect 1 ms 204 KB Output isn't correct
20 Halted 0 ms 0 KB -