Submission #428126

#TimeUsernameProblemLanguageResultExecution timeMemory
428126MOUF_MAHMALATSplit the Attractions (IOI19_split)C++14
0 / 100
1 ms204 KiB
#include "split.h"
#include<bits/stdc++.h>
using namespace std;
typedef int ll;
bool b[100009];
ll cnt[100009],x,y,z;
vector<ll>ans;
vector<vector<ll> >v;
void dfs(ll d)
{
    if(x)
        ans[d]=1;
    else if(y)
        ans[d]=2;
    else
        ans[d]=3;
    b[d]=1;
    for(auto z:v[d])
        if(b[z]==0)
            dfs(z);
}
vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q)
{
    v.resize(n);
    ans.resize(n);
    for(ll i=0; i<p.size(); i++)
    {
        cnt[p[i]]++,cnt[q[i]]++;
        v[p[i]].push_back(q[i]);
        v[q[i]].push_back(p[i]);
    }
    x=a,y=b,z=c;
    v.resize(n);
    for(ll i=0; i<n; i++)
    {
        if(cnt[i]>1)
            continue;
        dfs(i);
        return ans;
    }
    dfs(0);
    return ans;
}

Compilation message (stderr)

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:26:18: warning: comparison of integer expressions of different signedness: 'll' {aka 'int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |     for(ll 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...