Submission #1798742


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

using ll = long long;
using pii = pair<int, int>;

template <typename T> T inf;
template <> constexpr int inf<int> = 1e9;
template <> constexpr ll inf<ll> = 1e18;

int main() {
    int N, M;
    ll a, p;
    cin >> N >> M;
    vector<ll> x(N * M);
    cin >> x[0] >> a >> p;
    for(int i = 1; i < N * M; ++i) {
        x[i] = (x[i - 1] + a) % p;
    }
    vector<vector<int>> v(N, vector<int>(M));
    for(int i = 0; i < N; ++i) {
        for(int j = 0; j < M; ++j) {
            v[i][j] = x[i * M + j];
        }
    }

    sort(begin(x), end(x));
    vector<pii> ng_student; // (x, y)
    vector<set<ll>> ng_pos(N);
    for(int i = 0; i < N; ++i) {
        for(int j = 0; j < M; ++j) {
            int idx = lower_bound(begin(x), end(x), v[i][j]) - begin(x);
            int y = idx / M, x = idx % M;
            if(y != i) {
                ng_student.emplace_back(j, i);
                ng_pos[i].insert(j);
            }
        }
    }
    ll res = 0;
    sort(begin(ng_student), end(ng_student));
    for(auto& s : ng_student) {
        ll ok_y = (lower_bound(begin(x), end(x), v[s.second][s.first]) - begin(x)) / M;
        ll cost = abs(ok_y - s.second);
        cost += abs(s.first - *ng_pos[ok_y].begin());
        ng_pos[ok_y].erase(ng_pos[ok_y].begin());
        res += cost;
    }
    cout << res << endl;
}

Submission Info

Submission Time
Task C - 席替え
User Suibaka
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1420 Byte
Status TLE
Exec Time 2103 ms
Memory 896 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 72
TLE × 10
Set Name Test Cases
All case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt, case_16.txt, case_17.txt, case_18.txt, case_19.txt, case_20.txt, case_21.txt, case_22.txt, case_23.txt, case_24.txt, case_25.txt, case_26.txt, case_27.txt, case_28.txt, case_29.txt, case_30.txt, case_31.txt, case_32.txt, case_33.txt, case_34.txt, case_35.txt, case_36.txt, case_37.txt, case_38.txt, case_39.txt, case_40.txt, case_41.txt, case_42.txt, case_43.txt, case_44.txt, case_45.txt, case_46.txt, case_47.txt, case_48.txt, case_49.txt, case_50.txt, case_51.txt, case_52.txt, case_53.txt, case_54.txt, case_55.txt, case_56.txt, case_57.txt, case_58.txt, case_59.txt, case_60.txt, case_61.txt, case_62.txt, case_63.txt, case_64.txt, case_65.txt, case_66.txt, case_67.txt, case_68.txt, case_69.txt, case_70.txt, case_71.txt, case_72.txt, case_73.txt, case_74.txt, case_75.txt, case_76.txt, case_77.txt, case_78.txt, case_79.txt, sample_1.txt, sample_2.txt, sample_3.txt
Case Name Status Exec Time Memory
case_01.txt AC 2 ms 384 KB
case_02.txt AC 2 ms 384 KB
case_03.txt AC 2 ms 384 KB
case_04.txt AC 1 ms 256 KB
case_05.txt AC 2 ms 256 KB
case_06.txt AC 1 ms 256 KB
case_07.txt AC 1 ms 256 KB
case_08.txt AC 1 ms 256 KB
case_09.txt AC 2 ms 384 KB
case_10.txt AC 3 ms 512 KB
case_11.txt AC 2 ms 256 KB
case_12.txt AC 3 ms 640 KB
case_13.txt AC 1 ms 256 KB
case_14.txt AC 2 ms 384 KB
case_15.txt AC 4 ms 640 KB
case_16.txt AC 4 ms 640 KB
case_17.txt AC 3 ms 512 KB
case_18.txt AC 3 ms 512 KB
case_19.txt AC 6 ms 896 KB
case_20.txt AC 2 ms 384 KB
case_21.txt AC 3 ms 640 KB
case_22.txt AC 1 ms 256 KB
case_23.txt AC 4 ms 640 KB
case_24.txt AC 3 ms 512 KB
case_25.txt AC 2 ms 384 KB
case_26.txt AC 3 ms 512 KB
case_27.txt AC 2 ms 512 KB
case_28.txt AC 1 ms 256 KB
case_29.txt AC 3 ms 512 KB
case_30.txt AC 4 ms 640 KB
case_31.txt AC 2 ms 256 KB
case_32.txt AC 1 ms 256 KB
case_33.txt AC 3 ms 512 KB
case_34.txt AC 4 ms 640 KB
case_35.txt AC 2 ms 384 KB
case_36.txt AC 2 ms 512 KB
case_37.txt AC 1 ms 256 KB
case_38.txt AC 1 ms 256 KB
case_39.txt AC 4 ms 640 KB
case_40.txt AC 2 ms 384 KB
case_41.txt AC 2 ms 384 KB
case_42.txt AC 1 ms 256 KB
case_43.txt AC 2 ms 384 KB
case_44.txt AC 1 ms 256 KB
case_45.txt AC 3 ms 512 KB
case_46.txt AC 2 ms 384 KB
case_47.txt AC 5 ms 768 KB
case_48.txt AC 1 ms 256 KB
case_49.txt AC 1 ms 256 KB
case_50.txt AC 6 ms 896 KB
case_51.txt AC 6 ms 896 KB
case_52.txt AC 6 ms 896 KB
case_53.txt AC 6 ms 896 KB
case_54.txt AC 6 ms 896 KB
case_55.txt AC 6 ms 896 KB
case_56.txt AC 6 ms 896 KB
case_57.txt AC 6 ms 896 KB
case_58.txt AC 6 ms 896 KB
case_59.txt AC 6 ms 896 KB
case_60.txt AC 6 ms 896 KB
case_61.txt AC 6 ms 896 KB
case_62.txt AC 6 ms 896 KB
case_63.txt AC 6 ms 896 KB
case_64.txt AC 6 ms 896 KB
case_65.txt AC 6 ms 896 KB
case_66.txt AC 6 ms 896 KB
case_67.txt AC 6 ms 896 KB
case_68.txt AC 6 ms 896 KB
case_69.txt AC 6 ms 896 KB
case_70.txt TLE 2103 ms 256 KB
case_71.txt TLE 2103 ms 256 KB
case_72.txt TLE 2103 ms 256 KB
case_73.txt TLE 2103 ms 512 KB
case_74.txt TLE 2103 ms 256 KB
case_75.txt TLE 2103 ms 640 KB
case_76.txt TLE 2103 ms 256 KB
case_77.txt TLE 2103 ms 256 KB
case_78.txt TLE 2103 ms 256 KB
case_79.txt TLE 2103 ms 384 KB
sample_1.txt AC 1 ms 256 KB
sample_2.txt AC 1 ms 256 KB
sample_3.txt AC 1 ms 256 KB