Submission #226158

# Submission time Handle Problem Language Result Execution time Memory
226158 2020-04-22T16:53:40 Z AaronNaidu Split the Attractions (IOI19_split) C++14
18 / 100
118 ms 12788 KB
#include <bits/stdc++.h>
using namespace std;

vector<int> graph[100001];
int n, a, b, c, num;
bool visited[100001];
vector<int> toRet;

void dfs(int node) {
    visited[node] = true;
    if (num < a)
    {
        toRet[node] = 1;
    }
    else if (num < a + b)
    {
        toRet[node] = 2;
    }
    num++;
    for (auto i : graph[node])
    {
        if (!visited[i])
        {
            dfs(i);
        }
    }
}

vector<int> find_split(int ln, int la, int lb, int lc, vector<int> p, vector<int> q) {
    n = ln;
    a = la;
    b = lb;
    c = lc;
    for (int i = 0; i < p.size(); i++)
    {
        graph[p[i]].push_back(q[i]);
        graph[q[i]].push_back(p[i]);
    }
    for (int i = 0; i < n; i++)
    {
        toRet.push_back(3);
    }
    num = 0;
    bool found = false;
    for (int i = 0; i < n; i++)
    {
        if (graph[i].size() == 1)
        {
            dfs(i);
            found = true;
            break;
        }
    }
    if (!found)
    {
        dfs(0);
    }
    return toRet;
}

Compilation message

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:34:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < p.size(); i++)
                     ~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 6 ms 2688 KB ok, correct split
2 Correct 6 ms 2688 KB ok, correct split
3 Correct 6 ms 2688 KB ok, correct split
4 Correct 6 ms 2688 KB ok, correct split
5 Correct 7 ms 2688 KB ok, correct split
6 Correct 6 ms 2688 KB ok, correct split
7 Correct 80 ms 12660 KB ok, correct split
8 Correct 89 ms 12660 KB ok, correct split
9 Correct 81 ms 12692 KB ok, correct split
10 Correct 93 ms 12788 KB ok, correct split
11 Correct 90 ms 12660 KB ok, correct split
# Verdict Execution time Memory Grader output
1 Correct 6 ms 2688 KB ok, correct split
2 Correct 6 ms 2688 KB ok, correct split
3 Correct 7 ms 2688 KB ok, correct split
4 Correct 99 ms 12656 KB ok, correct split
5 Correct 71 ms 9588 KB ok, correct split
6 Correct 84 ms 12660 KB ok, correct split
7 Correct 85 ms 12660 KB ok, correct split
8 Correct 118 ms 12788 KB ok, correct split
9 Correct 89 ms 9588 KB ok, correct split
10 Correct 61 ms 9584 KB ok, correct split
11 Correct 53 ms 9588 KB ok, correct split
12 Correct 58 ms 9968 KB ok, correct split
# Verdict Execution time Memory Grader output
1 Correct 6 ms 2688 KB ok, correct split
2 Incorrect 79 ms 9708 KB 2 components are not connected
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 6 ms 2688 KB 2 components are not connected
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 6 ms 2688 KB ok, correct split
2 Correct 6 ms 2688 KB ok, correct split
3 Correct 6 ms 2688 KB ok, correct split
4 Correct 6 ms 2688 KB ok, correct split
5 Correct 7 ms 2688 KB ok, correct split
6 Correct 6 ms 2688 KB ok, correct split
7 Correct 80 ms 12660 KB ok, correct split
8 Correct 89 ms 12660 KB ok, correct split
9 Correct 81 ms 12692 KB ok, correct split
10 Correct 93 ms 12788 KB ok, correct split
11 Correct 90 ms 12660 KB ok, correct split
12 Correct 6 ms 2688 KB ok, correct split
13 Correct 6 ms 2688 KB ok, correct split
14 Correct 7 ms 2688 KB ok, correct split
15 Correct 99 ms 12656 KB ok, correct split
16 Correct 71 ms 9588 KB ok, correct split
17 Correct 84 ms 12660 KB ok, correct split
18 Correct 85 ms 12660 KB ok, correct split
19 Correct 118 ms 12788 KB ok, correct split
20 Correct 89 ms 9588 KB ok, correct split
21 Correct 61 ms 9584 KB ok, correct split
22 Correct 53 ms 9588 KB ok, correct split
23 Correct 58 ms 9968 KB ok, correct split
24 Correct 6 ms 2688 KB ok, correct split
25 Incorrect 79 ms 9708 KB 2 components are not connected
26 Halted 0 ms 0 KB -