10203 | 2024-03-29 13:35:08 | 111 | Testvérvárosok | cpp17 | Elfogadva 100/100 | 101ms | 37932 KiB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N,K;
cin>>N>>K;
vector<vector<pair<int,int>>>g(N+1);
for(int i=0;i<N-1;i++){
int a,b,d;
cin>>a>>b>>d;
g[a].emplace_back(b,d);
g[b].emplace_back(a,d);
}
int ans=0;
auto dfs=[&](auto self,int i,int p,int x)->map<int,int>{
map<int,int>s;
for(auto[j,d]:g[i]){
if(j==p){
continue;
}
auto z=self(self,j,i,x+d);
ans+=z[x%K];
if(z.size()>s.size()){
swap(s,z);
}
for(auto[y,c]:z){
ans+=s[((x*2-y)%K+K)%K]*c;
}
for(auto[y,c]:z){
s[y]+=c;
}
}
s[x%K]++;
return s;
};
dfs(dfs,1,0,0);
cout<<ans<<'\n';
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1832 KiB | ||||
2 | Elfogadva | 3ms | 2068 KiB | ||||
subtask2 | 15/15 | ||||||
3 | Elfogadva | 3ms | 2284 KiB | ||||
4 | Elfogadva | 3ms | 2608 KiB | ||||
5 | Elfogadva | 4ms | 2924 KiB | ||||
6 | Elfogadva | 4ms | 3184 KiB | ||||
7 | Elfogadva | 3ms | 2888 KiB | ||||
8 | Elfogadva | 3ms | 2992 KiB | ||||
9 | Elfogadva | 4ms | 3524 KiB | ||||
subtask3 | 15/15 | ||||||
10 | Elfogadva | 10ms | 4980 KiB | ||||
11 | Elfogadva | 4ms | 5000 KiB | ||||
12 | Elfogadva | 37ms | 10708 KiB | ||||
13 | Elfogadva | 32ms | 10240 KiB | ||||
14 | Elfogadva | 37ms | 11260 KiB | ||||
subtask4 | 20/20 | ||||||
15 | Elfogadva | 3ms | 3892 KiB | ||||
16 | Elfogadva | 3ms | 4416 KiB | ||||
17 | Elfogadva | 8ms | 7584 KiB | ||||
18 | Elfogadva | 20ms | 18828 KiB | ||||
19 | Elfogadva | 29ms | 25732 KiB | ||||
20 | Elfogadva | 37ms | 34000 KiB | ||||
21 | Elfogadva | 29ms | 32004 KiB | ||||
22 | Elfogadva | 45ms | 37932 KiB | ||||
subtask5 | 50/50 | ||||||
23 | Elfogadva | 90ms | 13504 KiB | ||||
24 | Elfogadva | 52ms | 9792 KiB | ||||
25 | Elfogadva | 64ms | 10568 KiB | ||||
26 | Elfogadva | 46ms | 6820 KiB | ||||
27 | Elfogadva | 48ms | 10036 KiB | ||||
28 | Elfogadva | 76ms | 12864 KiB | ||||
29 | Elfogadva | 97ms | 12900 KiB | ||||
30 | Elfogadva | 32ms | 11756 KiB | ||||
31 | Elfogadva | 101ms | 13964 KiB |