Submission #297889

#TimeUsernameProblemLanguageResultExecution timeMemory
297889juggernautSplit the Attractions (IOI19_split)C++14
7 / 100
2088 ms9592 KiB
#include<bits/stdc++.h>
#include"split.h"
using namespace std;
vector<int>g[100005];
int ans[100005];
int fir(int v,int p){
    for(int to:g[v])if(to!=p)return fir(to,v);
    return v;
}
vector<int>find_split(int n,int a,int b,int c,vector<int>p1,vector<int>p2){
    int root=0;
    for(int i=0;i<p1.size();i++){
        g[p1[i]].push_back(p2[i]);
        g[p2[i]].push_back(p1[i]);
    }
    if(p1.size()!=n)root=fir(root,-1);
    while(a--){
        ans[root]=1;
        for(int to:g[root])if(!ans[to])root=to;
    }
    while(b--){
        ans[root]=2;
        for(int to:g[root])if(!ans[to])root=to;
    }
    while(c--){
        ans[root]=3;
        for(int to:g[root])if(!ans[to])root=to;
    }
    vector<int>res;
    for(int i=0;i<n;i++)res.push_back(ans[i]);
    return res;
}

Compilation message (stderr)

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:12:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 |     for(int i=0;i<p1.size();i++){
      |                 ~^~~~~~~~~~
split.cpp:16:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   16 |     if(p1.size()!=n)root=fir(root,-1);
      |        ~~~~~~~~~^~~
#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...