Submission #847426

#TimeUsernameProblemLanguageResultExecution timeMemory
847426TheMiraiTraveller0711Closing Time (IOI23_closing)C++17
0 / 100
123 ms33440 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); 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> dist1(N); vis.assign(N, 0); DFS(X, 0, dist1); vector<ll> dist2(N); vis.assign(N, 0); DFS(Y, 0, dist2); vector<ll> adist; for (int i = 0; i < N; i++) { adist.push_back(dist1[i]); adist.push_back(dist2[i]); } sort(adist.begin(), adist.end()); int pt = 0, ans = 0; ll cost = 0; while (cost + adist[pt] <= K && pt < adist.size()) { cost += adist[pt]; pt++; ans++; } return ans; } }; int max_score(int N, int X, int Y, long long K, std::vector<int> U, std::vector<int> V, std::vector<int> W) { Subtask1 sub1; 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:53:44: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |         while (cost + adist[pt] <= K && pt < adist.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...