#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;
}
for(int i=0; i<n; i++) {
graph[i].clear();
for(int j=0; j<2; j++) dist[j][i] = 0;
}
return ans;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
344 KB |
1st lines differ - on the 1st token, expected: '6', found: '5' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
122 ms |
30080 KB |
Output is correct |
2 |
Correct |
123 ms |
36904 KB |
Output is correct |
3 |
Correct |
66 ms |
3044 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
1 ms |
344 KB |
Output is correct |
3 |
Correct |
1 ms |
348 KB |
Output is correct |
4 |
Correct |
0 ms |
348 KB |
Output is correct |
5 |
Correct |
0 ms |
348 KB |
Output is correct |
6 |
Correct |
42 ms |
344 KB |
Output is correct |
7 |
Correct |
33 ms |
600 KB |
Output is correct |
8 |
Correct |
13 ms |
344 KB |
Output is correct |
9 |
Correct |
2 ms |
344 KB |
Output is correct |
10 |
Correct |
1 ms |
344 KB |
Output is correct |
11 |
Correct |
1 ms |
348 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
1 ms |
344 KB |
Output is correct |
3 |
Correct |
1 ms |
348 KB |
Output is correct |
4 |
Correct |
0 ms |
348 KB |
Output is correct |
5 |
Correct |
0 ms |
348 KB |
Output is correct |
6 |
Correct |
42 ms |
344 KB |
Output is correct |
7 |
Correct |
33 ms |
600 KB |
Output is correct |
8 |
Correct |
13 ms |
344 KB |
Output is correct |
9 |
Correct |
2 ms |
344 KB |
Output is correct |
10 |
Correct |
1 ms |
344 KB |
Output is correct |
11 |
Correct |
1 ms |
348 KB |
Output is correct |
12 |
Incorrect |
1 ms |
348 KB |
1st lines differ - on the 1st token, expected: '173', found: '132' |
13 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
1 ms |
344 KB |
Output is correct |
3 |
Correct |
1 ms |
348 KB |
Output is correct |
4 |
Correct |
0 ms |
348 KB |
Output is correct |
5 |
Correct |
0 ms |
348 KB |
Output is correct |
6 |
Correct |
42 ms |
344 KB |
Output is correct |
7 |
Correct |
33 ms |
600 KB |
Output is correct |
8 |
Correct |
13 ms |
344 KB |
Output is correct |
9 |
Correct |
2 ms |
344 KB |
Output is correct |
10 |
Correct |
1 ms |
344 KB |
Output is correct |
11 |
Correct |
1 ms |
348 KB |
Output is correct |
12 |
Incorrect |
1 ms |
348 KB |
1st lines differ - on the 1st token, expected: '173', found: '132' |
13 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
344 KB |
1st lines differ - on the 1st token, expected: '6', found: '5' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
344 KB |
1st lines differ - on the 1st token, expected: '6', found: '5' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
344 KB |
1st lines differ - on the 1st token, expected: '6', found: '5' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
344 KB |
1st lines differ - on the 1st token, expected: '6', found: '5' |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
344 KB |
1st lines differ - on the 1st token, expected: '6', found: '5' |
2 |
Halted |
0 ms |
0 KB |
- |