Submission #889411

#TimeUsernameProblemLanguageResultExecution timeMemory
889411vjudge1Split the Attractions (IOI19_split)C++17
11 / 100
60 ms15184 KiB
#include "split.h"
#include <bits/stdc++.h>

using namespace std;

using vi = vector<int>;

vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
    vi re(n, 0);
    vector<vi> L(n);
    for(int i = 0; i < p.size(); ++i) {
        L[p[i]].push_back(q[i]);
        L[q[i]].push_back(p[i]);
    }

    if(a == 1) {
        vi viz(n, 0);
        int nrb = 0;
        function<void(int)> dfs = [&](int u) {
            viz[u] = 1;
            if(nrb < b) {
                re[u] = 2;
                ++nrb;
            }
            for(auto it : L[u]) {
                if(!viz[it])
                    dfs(it);
            }   
        };
        dfs(0);
        for(auto &it : re) {
            if(!it && a) {
                it = 1;
                --a;
            }
            if(!it) it = 3;
        }
        return re;
    }
   // if(p.size() == n - 1) {
   //     vi sz(n, 0), dpa(n, 0);
   //     function<void(int, int)> dfs = [&](int u, int p) {

   //     };
   // }
    return re;
}

Compilation message (stderr)

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:11:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |     for(int i = 0; i < p.size(); ++i) {
      |                    ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...