답안 #495267

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
495267 2021-12-18T08:16:52 Z ergagan Chessboard (IZhO18_chessboard) C++17
16 / 100
91 ms 452 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;

        if(val == 1) ans = min(min(x * sq(val) - cnt[{val, 0}] + cnt[{val, 1}], sq(n) - x * sq(val) - cnt[{val, 1}] + cnt[{val, 0}]), ans);
        else ans = min(min(x * sq(val) - cnt[{val, 1}] + cnt[{val, 0}], sq(n) - x * sq(val) - cnt[{val, 0}] + cnt[{val, 1}]), 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 1 ms 292 KB Output is correct
2 Correct 0 ms 288 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 0 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 80 ms 356 KB Output is correct
2 Correct 19 ms 296 KB Output is correct
3 Correct 46 ms 420 KB Output is correct
4 Correct 47 ms 328 KB Output is correct
5 Correct 63 ms 336 KB Output is correct
6 Correct 36 ms 288 KB Output is correct
7 Correct 9 ms 204 KB Output is correct
8 Correct 40 ms 332 KB Output is correct
9 Correct 91 ms 452 KB Output is correct
10 Correct 55 ms 312 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 80 ms 356 KB Output is correct
2 Correct 19 ms 296 KB Output is correct
3 Correct 46 ms 420 KB Output is correct
4 Correct 47 ms 328 KB Output is correct
5 Correct 63 ms 336 KB Output is correct
6 Correct 36 ms 288 KB Output is correct
7 Correct 9 ms 204 KB Output is correct
8 Correct 40 ms 332 KB Output is correct
9 Correct 91 ms 452 KB Output is correct
10 Correct 55 ms 312 KB Output is correct
11 Incorrect 1 ms 204 KB Output isn't correct
12 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 292 KB Output is correct
2 Correct 0 ms 288 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Correct 0 ms 204 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 1 ms 204 KB Output is correct
8 Correct 0 ms 204 KB Output is correct
9 Correct 80 ms 356 KB Output is correct
10 Correct 19 ms 296 KB Output is correct
11 Correct 46 ms 420 KB Output is correct
12 Correct 47 ms 328 KB Output is correct
13 Correct 63 ms 336 KB Output is correct
14 Correct 36 ms 288 KB Output is correct
15 Correct 9 ms 204 KB Output is correct
16 Correct 40 ms 332 KB Output is correct
17 Correct 91 ms 452 KB Output is correct
18 Correct 55 ms 312 KB Output is correct
19 Incorrect 1 ms 204 KB Output isn't correct
20 Halted 0 ms 0 KB -