Submission #607489

# Submission time Handle Problem Language Result Execution time Memory
607489 2022-07-26T18:26:30 Z skittles1412 Friend (IOI14_friend) C++17
27 / 100
158 ms 65536 KB
#include "bits/extc++.h"

using namespace std;

template <typename T>
void dbgh(const T& t) {
    cerr << t << endl;
}

template <typename T, typename... U>
void dbgh(const T& t, const U&... u) {
    cerr << t << " | ";
    dbgh(u...);
}

#ifdef DEBUG
#define dbg(...)                                              \
    cerr << "L" << __LINE__ << " [" << #__VA_ARGS__ << "]: "; \
    dbgh(__VA_ARGS__);
#else
#define dbg(...)
#define cerr   \
    if (false) \
    cerr
#endif

#define endl "\n"
#define long int64_t
#define sz(x) int((x).size())

const int maxn = 1e5 + 5;

int arr[maxn];
vector<int> graph[maxn];

int findSample(int n, int _arr[], int host[], int protocol[]) {
    copy(_arr, _arr + n, arr);
    for (int i = 1; i < n; i++) {
        if (protocol[i] == 0 || protocol[i] == 2) {
            graph[i].push_back(host[i]);
        }
        if (protocol[i] == 1 || protocol[i] == 2) {
            graph[i].insert(graph[i].end(), begin(graph[host[i]]),
                            end(graph[host[i]]));
        }
        for (auto& a : graph[i]) {
            graph[a].push_back(i);
        }
    }
    if (n <= 10) {
        int ans = 0;
        for (int i = 0; i < (1 << n); i++) {
            int cans = 0;
            for (int j = 0; j < n; j++) {
                if ((i >> j) & 1) {
                    cans += arr[j];
                    for (auto& a : graph[j]) {
                        if ((i >> a) & 1) {
                            goto loop;
                        }
                    }
                }
            }
            ans = max(ans, cans);
        loop:;
        }
        return ans;
    }
    if (protocol[1] == 1) {
        for (auto& a : graph) {
            assert(!sz(a));
        }
        return accumulate(arr, arr + n, 0);
    } else if (protocol[1] == 2) {
        return *max_element(arr, arr + n);
    }
    assert(false);
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2644 KB Output is correct
2 Correct 1 ms 2644 KB Output is correct
3 Correct 1 ms 2644 KB Output is correct
4 Correct 1 ms 2644 KB Output is correct
5 Correct 1 ms 2644 KB Output is correct
6 Correct 2 ms 2644 KB Output is correct
7 Correct 2 ms 2644 KB Output is correct
8 Correct 2 ms 2644 KB Output is correct
9 Correct 1 ms 2644 KB Output is correct
10 Correct 1 ms 2644 KB Output is correct
11 Correct 1 ms 2644 KB Output is correct
12 Correct 1 ms 2644 KB Output is correct
13 Correct 1 ms 2644 KB Output is correct
14 Correct 1 ms 2644 KB Output is correct
15 Correct 1 ms 2644 KB Output is correct
16 Correct 1 ms 2688 KB Output is correct
17 Correct 1 ms 2644 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Output is correct
2 Correct 2 ms 2644 KB Output is correct
3 Correct 1 ms 2644 KB Output is correct
4 Correct 2 ms 2676 KB Output is correct
5 Correct 2 ms 2644 KB Output is correct
6 Correct 2 ms 2644 KB Output is correct
7 Correct 2 ms 2644 KB Output is correct
8 Correct 2 ms 2644 KB Output is correct
9 Correct 2 ms 2644 KB Output is correct
10 Correct 2 ms 2644 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 3924 KB Output is correct
2 Correct 8 ms 8272 KB Output is correct
3 Correct 2 ms 2644 KB Output is correct
4 Correct 5 ms 5652 KB Output is correct
5 Correct 8 ms 8216 KB Output is correct
6 Correct 1 ms 2644 KB Output is correct
7 Correct 2 ms 3284 KB Output is correct
8 Correct 3 ms 3668 KB Output is correct
9 Correct 2 ms 2644 KB Output is correct
10 Correct 8 ms 8912 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Output is correct
2 Correct 2 ms 2644 KB Output is correct
3 Correct 1 ms 2644 KB Output is correct
4 Correct 1 ms 2644 KB Output is correct
5 Runtime error 5 ms 5332 KB Execution killed with signal 6
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Output is correct
2 Correct 1 ms 2644 KB Output is correct
3 Correct 2 ms 2644 KB Output is correct
4 Correct 1 ms 2644 KB Output is correct
5 Correct 1 ms 2644 KB Output is correct
6 Correct 2 ms 2644 KB Output is correct
7 Correct 2 ms 2644 KB Output is correct
8 Correct 2 ms 2644 KB Output is correct
9 Runtime error 5 ms 5332 KB Execution killed with signal 6
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Output is correct
2 Correct 2 ms 2644 KB Output is correct
3 Correct 2 ms 2644 KB Output is correct
4 Correct 2 ms 2644 KB Output is correct
5 Correct 2 ms 2644 KB Output is correct
6 Correct 2 ms 2644 KB Output is correct
7 Correct 2 ms 2644 KB Output is correct
8 Correct 2 ms 2644 KB Output is correct
9 Correct 2 ms 2644 KB Output is correct
10 Correct 2 ms 2644 KB Output is correct
11 Correct 2 ms 2644 KB Output is correct
12 Runtime error 158 ms 65536 KB Execution killed with signal 9
13 Halted 0 ms 0 KB -