답안 #844060

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
844060 2023-09-05T05:31:32 Z GrandTiger1729 Chessboard (IZhO18_chessboard) C++17
0 / 100
571 ms 860 KB
#include <bits/stdc++.h>
using namespace std;

struct Data
{
    int x1, y1, x2, y2;
    Data() = default;
    Data(int _x1, int _y1, int _x2, int _y2) : x1(_x1), y1(_y1), x2(_x2), y2(_y2) {}
};

const long long INF = 1e18;
int main()
{
    cin.tie(0)->sync_with_stdio(0);
    freopen("in.in", "r", stdin);
    freopen("out.out", "w", stdout);
    int M, n; cin >> M >> n;
    vector<Data> a(n);
    for (int i = 0; i < n; i++)
    {
        int x1, y1, x2, y2;
        cin >> x1 >> y1 >> x2 >> y2;
        x1--, y1--;
        a[i] = Data(x1, y1, x2, y2);
    }
    auto solve = [&](int K) -> long long
    {
        long long ret1 = (1ll * (M / K) * (M / K) / 2 + M / K % 2) * K * K;
        for (int i = 0; i < n; i++)
        {
            int xx = a[i].x1 / K, yy = a[i].y1 / K;
            if ((xx + yy) % 2 == 0)
                ret1--;
            else
                ret1++;
        }
        long long ret2 = (1ll * (M / K) * (M / K) / 2) * K * K;
        for (int i = 0; i < n; i++)
        {
            int xx = a[i].x1 / K, yy = a[i].y1 / K;
            if ((xx + yy) % 2 == 1)
                ret2--;
            else
                ret2++;
        }
        return min(ret1, ret2);
    };
    long long ans = INF;
    for (int t = 1; t < M; t++)
        if (M % t == 0)
            ans = min(ans, solve(t));
    cout << ans << '\n';
    return 0;
}

Compilation message

chessboard.cpp: In function 'int main()':
chessboard.cpp:15:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |     freopen("in.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
chessboard.cpp:16:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |     freopen("out.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 571 ms 860 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 860 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 856 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 856 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 860 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 571 ms 860 KB Output isn't correct
2 Halted 0 ms 0 KB -