Submission #826835

#TimeUsernameProblemLanguageResultExecution timeMemory
826835vjudge1Split the Attractions (IOI19_split)C++17
18 / 100
61 ms17572 KiB
#include "split.h" #include <bits/stdc++.h> #define ll long long #define pb push_back #define en '\n' #define all(v) v.begin(),v.end() using namespace std; const int N = 3e5 + 10; vector <int> g[N]; int cnt,color; int a[N]; void dfs(int v) { if(cnt == 0)return; cnt--; a[v] = color; if(cnt == 0)return; for(auto to : g[v]) { if(a[to])continue; dfs(to); } } /* 9 10 1 5 3 0 1 0 2 0 3 0 4 0 6 0 8 1 7 3 7 4 5 5 6 */ vector<int> find_split(int n, int A, int B, int C, vector<int> p, vector<int> q) { for(int i = 0;i < p.size();i++) { p[i]++; q[i]++; g[p[i]].pb(q[i]); g[q[i]].pb(p[i]); } bool ch = 0; for(int i = 1;i <= n;i++) { if(g[i].size() == 1) { cnt = A; color = 1; dfs(i); ch = 1; break; } } if(!ch) { cnt = A; color = 1; dfs(1); } cnt = B; color = 2; ch = 0; for(int i = 1;i <= n;i++) { if(a[i])continue; if(g[i].size() == 1) { dfs(i); ch = 1; break; } } if(!ch) { for(int i = 1;i <= n;i++) { if(!a[i]) { dfs(i); break; } } } for(int i = 1;i <= n;i++) { if(!a[i])a[i] = 3; } vector <int> ans; for(int i = 1;i <= n;i++)ans.pb(a[i]); 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:36:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |  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...