Submission #847431

#TimeUsernameProblemLanguageResultExecution timeMemory
847431TheMiraiTraveller0711Closing Time (IOI23_closing)C++17
0 / 100
1008 ms33380 KiB
#include "closing.h" #include <bits/stdc++.h> // #include <vector> using namespace std; using ll = long long; /* Subtask 1 : */ class Subtask1 { public: vector<vector<pair<int, ll>>> adj; vector<bool> vis; void DFS(int u, int dd, vector<ll> &dist) { vis[u] = 1; dist[u] = dd; for (auto [v, w] : adj[u]) { if (vis[v]) continue; DFS(v, dd + w, dist); } } int getsol(int N, int X, int Y, long long K, vector<int> U, vector<int> V, vector<int> W) { adj.resize(N, vector<pair<int, ll>>()); for (int i = 0; i < N - 1; i++) { adj[U[i]].push_back({V[i], W[i]}); adj[V[i]].push_back({U[i], W[i]}); } vector<ll> dist(N); vis.assign(N, 0); DFS(X, 0, dist); vector<ll> dist2(N); vis.assign(N, 0); DFS(Y, 0, dist2); dist.insert(dist.end(), dist2.begin(), dist2.end()); sort(dist.begin(), dist.end()); for (auto v : dist) { cerr << v << ' '; } cerr << '\n'; int pt = 0, ans = 0; ll cost = 0; while (cost + dist[pt] <= K && pt < dist.size()) { cost += dist[pt]; pt++; ans++; } return ans; } }; Subtask1 sub1; int max_score(int N, int X, int Y, long long K, std::vector<int> U, std::vector<int> V, std::vector<int> W) { return sub1.getsol(N, X, Y, K, U, V, W); }

Compilation message (stderr)

closing.cpp: In member function 'int Subtask1::getsol(int, int, int, long long int, std::vector<int>, std::vector<int>, std::vector<int>)':
closing.cpp:54:43: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |         while (cost + dist[pt] <= K && pt < dist.size())
      |                                        ~~~^~~~~~~~~~~~~
#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...
#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...