Submission #290568

#TimeUsernameProblemLanguageResultExecution timeMemory
290568jairRSSplit the Attractions (IOI19_split)C++17
0 / 100
2088 ms288 KiB
#include "split.h" using namespace std; typedef vector<int> vi; typedef vector<vi> vvi; vvi adj; vi degree; int ga, gb, gc; void dfs(int src, int prev = -1) { if (gc > 0) { degree[src] = 3; gc--; } else if (gb > 0) { degree[src] = 2; gb--; } else if (ga > 0) { degree[src] = 1; ga--; } for (int a : adj[src]) { if (a != prev) { dfs(a, src); break; } } } vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) { ga = a; gb = b; gc = c; degree = vi(n, 0); adj = vvi(n); for (int i = 0; i < p.size(); i++) { adj[p[i]].push_back(q[i]); adj[q[i]].push_back(p[i]); degree[p[i]]++; degree[q[i]]++; } bool loop = true; for (int i = 0; i < n; i++) { if (degree[i] == 1) { dfs(i); loop = false; break; } } if (loop) dfs(0); return degree; }

Compilation message (stderr)

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