| 16287 | 2025-04-20 10:37:48 | Hora | Testvérvárosok | cpp17 | Accepted 100/100 | 1.386s | 174132 KiB |
#include <bits/stdc++.h>
using namespace std;
vector<vector<array<int, 2>>> g;
long long n, k, ans = 0;
vector<vector<int>> a;
void dfs(int v, int p){
a[v][0] = 1;
for(auto [x, w] : g[v]){
if(x == p) continue;
dfs(x, v);
for(int i = 0; i < k; i++){
ans += (long long)a[x][i] * (long long)a[v][(4 * k - i - w) % k];
}
for(int i = 0; i < k; i++){
a[v][(i + w) % k] += a[x][i];
}
}
}
int main() {
cin >> n >> k;
g.resize(n + 1);
a.resize(n + 1, vector<int>(k, 0));
for(int i = 0; i < n - 1; i++){
int b, c, d;
cin >> b >> c >> d;
g[b].push_back({c, d % k});
g[c].push_back({b, d % k});
}
dfs(1, 0);
cout << ans << "\n";
/*for(auto x : a){
for(auto y : x) cout << y << " ";
cout << "\n";
}*/
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Accepted | 1ms | 316 KiB | ||||
| subtask2 | 15/15 | ||||||
| 3 | Accepted | 2ms | 564 KiB | ||||
| 4 | Accepted | 1ms | 316 KiB | ||||
| 5 | Accepted | 4ms | 776 KiB | ||||
| 6 | Accepted | 20ms | 2988 KiB | ||||
| 7 | Accepted | 2ms | 316 KiB | ||||
| 8 | Accepted | 14ms | 2080 KiB | ||||
| 9 | Accepted | 4ms | 900 KiB | ||||
| subtask3 | 15/15 | ||||||
| 10 | Accepted | 16ms | 1848 KiB | ||||
| 11 | Accepted | 4ms | 820 KiB | ||||
| 12 | Accepted | 64ms | 5940 KiB | ||||
| 13 | Accepted | 61ms | 5312 KiB | ||||
| 14 | Accepted | 71ms | 6048 KiB | ||||
| subtask4 | 20/20 | ||||||
| 15 | Accepted | 6ms | 1044 KiB | ||||
| 16 | Accepted | 30ms | 4148 KiB | ||||
| 17 | Accepted | 93ms | 12132 KiB | ||||
| 18 | Accepted | 347ms | 45552 KiB | ||||
| 19 | Accepted | 248ms | 32820 KiB | ||||
| 20 | Accepted | 222ms | 28212 KiB | ||||
| 21 | Accepted | 54ms | 7988 KiB | ||||
| 22 | Accepted | 1.363s | 174132 KiB | ||||
| subtask5 | 50/50 | ||||||
| 23 | Accepted | 1.054s | 128564 KiB | ||||
| 24 | Accepted | 615ms | 75316 KiB | ||||
| 25 | Accepted | 601ms | 75596 KiB | ||||
| 26 | Accepted | 240ms | 31028 KiB | ||||
| 27 | Accepted | 405ms | 51252 KiB | ||||
| 28 | Accepted | 363ms | 42956 KiB | ||||
| 29 | Accepted | 1.386s | 171572 KiB | ||||
| 30 | Accepted | 61ms | 5684 KiB | ||||
| 31 | Accepted | 1.187s | 150068 KiB | ||||