Submission #538170

#TimeUsernameProblemLanguageResultExecution timeMemory
538170jamezzzSplit the Attractions (IOI19_split)C++17
11 / 100
109 ms12580 KiB
#include "split.h" #include <bits/stdc++.h> using namespace std; #define sf scanf #define pf printf #define fi first #define se second #define pb push_back #define all(x) x.begin(),x.end() typedef pair<int,int> ii; int rem=0,mark[3]; vector<int> res; vector<int> AL[100005]; void dfs(int u){ if(rem==0)return; res[u]=mark[1]; --rem; for(int v:AL[u]){ if(res[v]!=0)continue; dfs(v); } } vector<int> find_split(int n,int a,int b,int c,vector<int> p,vector<int> q){ vector<ii> v; v.pb({a,1});v.pb({b,2});v.pb({c,3}); sort(all(v)); for(int i=0;i<3;++i)mark[i]=v[i].se; res.resize(n); for(int i=0;i<p.size();++i){ AL[p[i]].pb(q[i]); AL[q[i]].pb(p[i]); } rem=v[1].fi; dfs(0); bool h=true; for(int i=0;i<n;++i){ if(res[i]!=0)continue; if(h)res[i]=mark[0],h=false; else res[i]=mark[2]; } 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:34:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |  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...