Submission #56624631


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
#define all(x) (x).begin(), (x).end()


int main() {
    cin.tie(0)->sync_with_stdio(false);

    int n, m;
    cin >> n >> m;

    vector<ll> a(n), b(n);
    for (ll &i : a)
        cin >> i;
    for (ll &i : b)
        cin >> i;

    if (m == 2) {
        cout << (a == b ? 0 : -1) << '\n';
        return 0;
    }

    vector<ll> c(n);
    c[0] = b[0];
    for (int i = 1; i < n; i++) {
        ll d = (b[i] - b[i - 1] + m) % m;

        if (a[i] > a[i - 1])
            c[i] = c[i - 1] + d;
        else
            c[i] = c[i - 1] - (m - d);
    }

    vector<ll> d(n);
    for (int i = 0; i < n; i++)
        d[i] = c[i] - a[i];

    auto check = [&](ll x) {
        ll cost = 0;
        for (int i = 0; i < n; i++)
            cost += abs((c[i] - x * m) - a[i]);
        return cost;
    };

    sort(all(d));

    ll ans = 1e18;
    for (int i = max(n / 2 - 5, 0); i <= min(n / 2 + 5, n - 1); i++) {
        ll f = d[i] / m;
        for (int j = -10; j <= 10; j++)
            ans = min(ans, check(f + j));
    }

    cout << ans << '\n';

    return 0;
}

Submission Info

Submission Time
Task D - Increment Decrement Again
User juliany2
Language C++ 20 (gcc 12.2)
Score 700
Code Size 1191 Byte
Status AC
Exec Time 65 ms
Memory 9428 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 3
AC × 53
Set Name Test Cases
Sample 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt
All 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 01-random-001.txt, 01-random-002.txt, 01-random-003.txt, 01-random-004.txt, 01-random-005.txt, 01-random-006.txt, 01-random-007.txt, 01-random-008.txt, 01-random-009.txt, 01-random-010.txt, 01-random-011.txt, 01-random-012.txt, 01-random-013.txt, 01-random-014.txt, 01-random-015.txt, 02-large-001.txt, 02-large-002.txt, 02-large-003.txt, 02-large-004.txt, 02-large-005.txt, 02-large-006.txt, 02-large-007.txt, 02-large-008.txt, 02-large-009.txt, 02-large-010.txt, 03-max-001.txt, 03-max-002.txt, 03-max-003.txt, 03-max-004.txt, 03-max-005.txt, 04-small-001.txt, 04-small-002.txt, 04-small-003.txt, 04-small-004.txt, 04-small-005.txt, 04-small-006.txt, 04-small-007.txt, 04-small-008.txt, 04-small-009.txt, 04-small-010.txt, 05-corner-001.txt, 05-corner-002.txt, 05-corner-003.txt, 05-corner-004.txt, 05-corner-005.txt, 05-corner-006.txt, 05-corner-007.txt, 05-corner-008.txt, 05-corner-009.txt, 05-corner-010.txt
Case Name Status Exec Time Memory
00-sample-001.txt AC 1 ms 3456 KiB
00-sample-002.txt AC 1 ms 3476 KiB
00-sample-003.txt AC 1 ms 3476 KiB
01-random-001.txt AC 19 ms 4608 KiB
01-random-002.txt AC 4 ms 3580 KiB
01-random-003.txt AC 21 ms 5200 KiB
01-random-004.txt AC 57 ms 8376 KiB
01-random-005.txt AC 28 ms 5680 KiB
01-random-006.txt AC 56 ms 8304 KiB
01-random-007.txt AC 17 ms 4576 KiB
01-random-008.txt AC 8 ms 3872 KiB
01-random-009.txt AC 38 ms 6832 KiB
01-random-010.txt AC 22 ms 4832 KiB
01-random-011.txt AC 44 ms 7360 KiB
01-random-012.txt AC 59 ms 8688 KiB
01-random-013.txt AC 37 ms 6688 KiB
01-random-014.txt AC 4 ms 3544 KiB
01-random-015.txt AC 18 ms 4576 KiB
02-large-001.txt AC 46 ms 7496 KiB
02-large-002.txt AC 36 ms 6420 KiB
02-large-003.txt AC 36 ms 6380 KiB
02-large-004.txt AC 64 ms 9428 KiB
02-large-005.txt AC 63 ms 9088 KiB
02-large-006.txt AC 47 ms 7480 KiB
02-large-007.txt AC 52 ms 7968 KiB
02-large-008.txt AC 47 ms 7516 KiB
02-large-009.txt AC 35 ms 6612 KiB
02-large-010.txt AC 33 ms 6204 KiB
03-max-001.txt AC 64 ms 9412 KiB
03-max-002.txt AC 65 ms 9360 KiB
03-max-003.txt AC 65 ms 9404 KiB
03-max-004.txt AC 65 ms 9412 KiB
03-max-005.txt AC 65 ms 9348 KiB
04-small-001.txt AC 1 ms 3448 KiB
04-small-002.txt AC 1 ms 3372 KiB
04-small-003.txt AC 1 ms 3468 KiB
04-small-004.txt AC 1 ms 3380 KiB
04-small-005.txt AC 1 ms 3356 KiB
04-small-006.txt AC 1 ms 3476 KiB
04-small-007.txt AC 1 ms 3448 KiB
04-small-008.txt AC 1 ms 3472 KiB
04-small-009.txt AC 1 ms 3452 KiB
04-small-010.txt AC 1 ms 3384 KiB
05-corner-001.txt AC 6 ms 4580 KiB
05-corner-002.txt AC 8 ms 4872 KiB
05-corner-003.txt AC 7 ms 4884 KiB
05-corner-004.txt AC 11 ms 5644 KiB
05-corner-005.txt AC 7 ms 4868 KiB
05-corner-006.txt AC 12 ms 5852 KiB
05-corner-007.txt AC 45 ms 7996 KiB
05-corner-008.txt AC 37 ms 6916 KiB
05-corner-009.txt AC 52 ms 8872 KiB
05-corner-010.txt AC 56 ms 9420 KiB