답안 #1076077

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1076077 2024-08-26T11:00:53 Z c2zi6 가장 긴 여행 (IOI23_longesttrip) C++17
5 / 100
891 ms 600 KB
    #define _USE_MATH_DEFINES
    #include <bits/stdc++.h>
    #define ff first
    #define ss second
    #define pb push_back
    #define all(a) (a).begin(), (a).end()
    #define replr(i, a, b) for (int i = int(a); i <= int(b); ++i)
    #define reprl(i, a, b) for (int i = int(a); i >= int(b); --i)
    #define rep(i, n) for (int i = 0; i < int(n); ++i)
    #define mkp(a, b) make_pair(a, b)
    using namespace std;
    typedef long long ll;
    typedef long double ld;
    typedef pair<int, int> PII;
    typedef vector<int> VI;
    typedef vector<PII> VPI;
    typedef vector<VI> VVI;
    typedef vector<VVI> VVVI;
    typedef vector<VPI> VVPI;
    typedef pair<ll, ll> PLL;
    typedef vector<ll> VL;
    typedef vector<PLL> VPL;
    typedef vector<VL> VVL;
    typedef vector<VVL> VVVL;
    typedef vector<VPL> VVPL;
    template<class T> T setmax(T& a, T b) {if (a < b) return a = b; return a;}
    template<class T> T setmin(T& a, T b) {if (a < b) return a; return a = b;}
    #include <ext/pb_ds/assoc_container.hpp>
    using namespace __gnu_pbds;
    template<class T>
    using indset = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
    #include "longesttrip.h"
     
    bool samecomp(VI a, VI b) {
        return !are_connected(a, b);
    }
     
    VI longest_trip(int N, int D) {
        int n = N;
        VI group(n, -1);
        int last = 0;
        rep(u, n) if (group[u] == -1) {
            group[u] = last;
            rep(v, n) if (group[v] == -1) {
                if (samecomp({u}, {v})) group[v] = last;
            }
            last++;
        }
        VVI comp(last);
        rep(u, n) comp[group[u]].pb(u);
        /*cout << "components" << endl;*/
        /*rep(i, last) {*/
        /*    for (int x : comp[i]) cout << x << " ";*/
        /*    cout << endl;*/
        /*}*/
        /*cout << "components" << endl;*/
        int prev = -1;
        VI ans;
        rep(_, 3) {
            rep(i, last) {
              assert(comp[i].size() <= 2);
                if (comp[i].size() && i != prev) {
                    ans.pb(comp[i].back());
                    comp[i].pop_back();
                    prev = i;
                }
            }
        }
        return ans;
    }
     
     
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 600 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 344 KB Output is correct
2 Correct 21 ms 344 KB Output is correct
3 Correct 133 ms 344 KB Output is correct
4 Correct 402 ms 344 KB Output is correct
5 Correct 816 ms 412 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 344 KB Output is correct
2 Correct 27 ms 344 KB Output is correct
3 Correct 153 ms 440 KB Output is correct
4 Correct 430 ms 344 KB Output is correct
5 Correct 853 ms 412 KB Output is correct
6 Incorrect 1 ms 344 KB Incorrect
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 344 KB Output is correct
2 Correct 20 ms 344 KB Output is correct
3 Correct 153 ms 344 KB Output is correct
4 Correct 396 ms 412 KB Output is correct
5 Correct 882 ms 592 KB Output is correct
6 Correct 6 ms 344 KB Output is correct
7 Correct 13 ms 344 KB Output is correct
8 Correct 63 ms 344 KB Output is correct
9 Correct 184 ms 592 KB Output is correct
10 Correct 487 ms 592 KB Output is correct
11 Correct 434 ms 408 KB Output is correct
12 Correct 421 ms 408 KB Output is correct
13 Correct 405 ms 592 KB Output is correct
14 Incorrect 0 ms 344 KB Incorrect
15 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 344 KB Output is correct
2 Correct 22 ms 344 KB Output is correct
3 Partially correct 154 ms 344 KB Output is partially correct
4 Partially correct 406 ms 408 KB Output is partially correct
5 Partially correct 891 ms 408 KB Output is partially correct
6 Incorrect 0 ms 344 KB Incorrect
7 Halted 0 ms 0 KB -