Submission #841218

# Submission time Handle Problem Language Result Execution time Memory
841218 2023-09-01T11:33:21 Z I_love_Hoang_Yen Longest Trip (IOI23_longesttrip) C++17
15 / 100
12 ms 304 KB
#include "longesttrip.h"
#include <bits/stdc++.h>
using namespace std;

// Subtask 1: D == 3
vector<int> sub1(int n) {
    vector<int> res(n);
    std::iota(res.begin(), res.end(), 0);
    return res;
}

// Subtask 2: D == 2
vector<int> sub2(int n) {
    vector<int> res {0};
    for (int i = 1; i < n; i++) {
        if (are_connected({0}, {i})) {
            res.push_back(i);
            break;
        }
    }

    for (int i = 1; i < n; i++) {
        if (i == res[1]) continue;

        if (are_connected({res.back()}, {i})) {
            res.push_back(i);
        } else {
            res.insert(res.begin(), i);
        }
    }

    return res;
}

// Subtask 3: D == 1, return path with length >= Lmax / 2
mt19937_64 rng(58);
vector<int> sub3(int n) {
    vector<int> ids(n);
    std::iota(ids.begin(), ids.end(), 0);
    std::shuffle(ids.begin(), ids.end(), rng);

    vector<int> res {ids[0]};
    for (int i = 1; i < n; i++) {
        if (are_connected({ids[0]}, {ids[i]})) {
            res.push_back(ids[i]);
            break;
        }
    }

    for (int i = 1; i < n; i++) {
        if (ids[i] == res[1]) continue;

        if (are_connected({res.back()}, {ids[i]})) {
            res.push_back(ids[i]);
        } else if (are_connected({res[0]}, {ids[i]})) {
            res.insert(res.begin(), ids[i]);
        }
    }

    return res;
}

vector<int> longest_trip(int n, int d) {
    if (d == 3) return sub1(n);
    if (d == 2) return sub2(n);
    return sub3(n);
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 208 KB Incorrect
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 208 KB Output is correct
2 Correct 1 ms 208 KB Output is correct
3 Correct 1 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Correct 1 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 208 KB Output is correct
2 Correct 9 ms 208 KB Output is correct
3 Correct 9 ms 208 KB Output is correct
4 Correct 8 ms 208 KB Output is correct
5 Correct 9 ms 304 KB Output is correct
6 Correct 9 ms 208 KB Output is correct
7 Correct 10 ms 228 KB Output is correct
8 Correct 8 ms 244 KB Output is correct
9 Correct 6 ms 208 KB Output is correct
10 Correct 7 ms 208 KB Output is correct
11 Correct 7 ms 208 KB Output is correct
12 Correct 9 ms 208 KB Output is correct
13 Correct 9 ms 208 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 208 KB Output is correct
2 Correct 10 ms 208 KB Output is correct
3 Correct 5 ms 208 KB Output is correct
4 Correct 4 ms 208 KB Output is correct
5 Correct 10 ms 208 KB Output is correct
6 Correct 9 ms 208 KB Output is correct
7 Correct 11 ms 208 KB Output is correct
8 Correct 8 ms 208 KB Output is correct
9 Correct 7 ms 208 KB Output is correct
10 Correct 9 ms 208 KB Output is correct
11 Correct 7 ms 208 KB Output is correct
12 Correct 4 ms 208 KB Output is correct
13 Correct 10 ms 208 KB Output is correct
14 Correct 12 ms 208 KB Output is correct
15 Incorrect 5 ms 208 KB Incorrect
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 7 ms 208 KB Output is correct
2 Correct 9 ms 208 KB Output is correct
3 Correct 7 ms 208 KB Output is correct
4 Correct 10 ms 208 KB Output is correct
5 Correct 8 ms 208 KB Output is correct
6 Correct 11 ms 208 KB Output is correct
7 Correct 10 ms 208 KB Output is correct
8 Correct 8 ms 208 KB Output is correct
9 Correct 7 ms 208 KB Output is correct
10 Correct 7 ms 208 KB Output is correct
11 Correct 6 ms 300 KB Output is correct
12 Correct 9 ms 208 KB Output is correct
13 Correct 10 ms 296 KB Output is correct
14 Incorrect 0 ms 208 KB Incorrect
15 Halted 0 ms 0 KB -