Submission #41750489


Source Code Expand

#include <iostream>
#include <vector>

using namespace std;

int main() {
    int N, M;
    cin >> N >> M;

    vector<vector<int>> a(M, vector<int>(N));
    for (int i = 0; i < M; i++) {
        for (int j = 0; j < N; j++) {
            cin >> a[i][j];
        }
    }

    vector<vector<bool>> isEnemy(N + 1, vector<bool>(N + 1, false)); // 各人が不仲の可能性があるかを保持する配列 (1-indexed)
    int count = N*(N-1)/2; // 不仲の可能性がある二人組の数

    for (int i = 0; i < M; i++) {
        for (int j = 0; j < N - 1; j++) {
            int person1 = a[i][j];
            int person2 = a[i][j + 1];

            if (!isEnemy[person1][person2] && !isEnemy[person2][person1]) {
                isEnemy[person1][person2] = true;
                isEnemy[person2][person1] = true;
                count--;
            }
        }
    }

    cout << count << endl;

    return 0;
}

Submission Info

Submission Time
Task B - Discord
User KondoRyohei
Language C++ (GCC 9.2.1)
Score 200
Code Size 953 Byte
Status AC
Exec Time 8 ms
Memory 3620 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 14
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 03_same_00.txt, 03_same_01.txt, 03_same_02.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 8 ms 3400 KiB
00_sample_01.txt AC 2 ms 3412 KiB
00_sample_02.txt AC 2 ms 3448 KiB
01_small_00.txt AC 2 ms 3508 KiB
01_small_01.txt AC 2 ms 3452 KiB
01_small_02.txt AC 3 ms 3448 KiB
01_small_03.txt AC 3 ms 3388 KiB
01_small_04.txt AC 2 ms 3476 KiB
02_rnd_00.txt AC 3 ms 3396 KiB
02_rnd_01.txt AC 7 ms 3584 KiB
02_rnd_02.txt AC 4 ms 3584 KiB
03_same_00.txt AC 2 ms 3532 KiB
03_same_01.txt AC 3 ms 3396 KiB
03_same_02.txt AC 3 ms 3620 KiB