#include "closing.h"
#include <bits/stdc++.h>
using namespace std;
int n, x, y;
long long k;
vector<vector<pair<int, int> >> graph;
const int maxn = 2e5 + 5;
using ll = long long;
ll dist[2][maxn];
void dfs(int u, int p, int t) {
for(auto &[v, w] : graph[u]) {
if(v == p) continue;
dist[t][v] = dist[t][u] + w;
dfs(v, u, t);
}
}
int max_score(int N, int X, int Y, long long K, std::vector<int> U, std::vector<int> V, std::vector<int> W) {
n = N;
x = X;
y = Y;
k = K;
graph.resize(n);
bool line = 1;
for(int i=0; i<n-1; i++) {
if(abs(U[i] - V[i]) != 1) line = 0;
graph[U[i]].push_back({ V[i], W[i] });
graph[V[i]].push_back({ U[i], W[i] });
}
// if(line && n <= 50) {
// int ans = 0;
// dfs(x, x, 0);
// dfs(y, y, 1);
// for(int a=x; a<n; a++) {
// for(int b=x; b>=0; b--) {
// for(int c=y; c<n; c++) {
// for(int d=y; d>=0; d--) {
// ll total = 0;
// for(int i=0; i<n; i++) {
// ll curr = 0;
// if(b <= i && i <= a) curr = max(curr, dist[0][i]);
// if(d <= i && i <= c) curr = max(curr, dist[1][i]);
// total += curr;
// }
// if(total <= k) ans = max(ans, a - b + c - d);
// }
// }
// }
// }
// return ans + 2;
// }
int ans = 0;
ll total = k;
dfs(x, x, 0);
dfs(y, y, 1);
vector<ll> v;
for(int i=0; i<2; i++)
for(int j=0; j<n; j++) v.push_back(dist[i][j]);
sort(v.begin(), v.end());
for(auto &x : v) {
if(x > total) break;
ans++;
total -= x;
}
return ans;
}
Compilation message
closing.cpp: In function 'int max_score(int, int, int, long long int, std::vector<int>, std::vector<int>, std::vector<int>)':
closing.cpp:27:10: warning: variable 'line' set but not used [-Wunused-but-set-variable]
27 | bool line = 1;
| ^~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
348 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
120 ms |
32764 KB |
Output is correct |
2 |
Correct |
133 ms |
39152 KB |
Output is correct |
3 |
Execution timed out |
1070 ms |
1018484 KB |
Time limit exceeded |
4 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Incorrect |
1 ms |
348 KB |
1st lines differ - on the 1st token, expected: '30', found: '24' |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Incorrect |
1 ms |
348 KB |
1st lines differ - on the 1st token, expected: '30', found: '24' |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Incorrect |
1 ms |
348 KB |
1st lines differ - on the 1st token, expected: '30', found: '24' |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
348 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
348 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
348 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
348 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Runtime error |
1 ms |
348 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |