Submission #689388

# Submission time Handle Problem Language Result Execution time Memory
689388 2023-01-28T11:40:35 Z YENGOYAN Chessboard (IZhO18_chessboard) C++17
8 / 100
29 ms 2304 KB
/*
        //\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\\
        \\                                    //
        //  271828___182845__904523__53602__  \\
        \\  87___47____13______52____66__24_  //
        //  97___75____72______47____09___36  \\
        \\  999595_____74______96____69___67  //
        //  62___77____24______07____66__30_  \\
        \\  35___35____47______59____45713__  //
        //                                    \\
        \\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\//
                                                    */

#include <iostream>
#include <vector>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <cmath>
#include <climits>
#include <algorithm>
#include <random>
#include <queue>
#include <deque>
#include <iomanip>
#include <string>
#include <tuple>
#include <bitset>
#include <chrono>
#include <ctime>
#include <fstream>
#include <stack>
#include <cstdio>

using namespace std;
using ll = long long;
const int N = 3e5 + 5;
const ll mod = 1e9 + 7, inf = 1e18;

void solve() {
    ll n, k; cin >> n >> k;
    ll od = 0, ev = 0, side = 1;
    for (int i = 1; i * i <= n; ++i) {
        if (n % i) continue;
        side = i;
    }
    vector<pair<int, int>> vp;
    while (k--) {
        int x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2;
        vp.push_back({ x1, y1 });
    }
    ll ans = n * n;
    for (int i = 1; i * i <= n; ++i) {
        if (n % i) continue;
        int od = 0, ev = 0;
        for (pair<int, int> xx : vp) {
            int x = xx.first, y = xx.second;
            int x_pos = x / i, y_pos = y / i;
            if (x_pos % 2 == y_pos % 2) ++ev;
            else ++od;
        }
        // sevov sksvi
        ll edge = n / i, c = (edge * edge + 1) / 2;
        ll a = od + c * i * i - ev;
        c = edge * edge / 2;
        ll b = ev + c * i * i - od;
        ans = min({ ans, a, b });
    }
    cout << ans << "\n";
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    //int t; cin >> t;
    //while (t--)	
    solve();
}

Compilation message

chessboard.cpp: In function 'void solve()':
chessboard.cpp:43:8: warning: unused variable 'od' [-Wunused-variable]
   43 |     ll od = 0, ev = 0, side = 1;
      |        ^~
chessboard.cpp:43:16: warning: unused variable 'ev' [-Wunused-variable]
   43 |     ll od = 0, ev = 0, side = 1;
      |                ^~
chessboard.cpp:43:24: warning: variable 'side' set but not used [-Wunused-but-set-variable]
   43 |     ll od = 0, ev = 0, side = 1;
      |                        ^~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 1 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 19 ms 2304 KB Output is correct
2 Correct 5 ms 980 KB Output is correct
3 Correct 13 ms 1644 KB Output is correct
4 Correct 13 ms 1688 KB Output is correct
5 Correct 19 ms 1612 KB Output is correct
6 Correct 12 ms 1736 KB Output is correct
7 Correct 3 ms 596 KB Output is correct
8 Correct 12 ms 1716 KB Output is correct
9 Correct 29 ms 1924 KB Output is correct
10 Correct 17 ms 1644 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 19 ms 2304 KB Output is correct
2 Correct 5 ms 980 KB Output is correct
3 Correct 13 ms 1644 KB Output is correct
4 Correct 13 ms 1688 KB Output is correct
5 Correct 19 ms 1612 KB Output is correct
6 Correct 12 ms 1736 KB Output is correct
7 Correct 3 ms 596 KB Output is correct
8 Correct 12 ms 1716 KB Output is correct
9 Correct 29 ms 1924 KB Output is correct
10 Correct 17 ms 1644 KB Output is correct
11 Incorrect 1 ms 212 KB Output isn't correct
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 1 ms 212 KB Output isn't correct
3 Halted 0 ms 0 KB -