10202 | 2024-03-29 13:32:51 | 111 | Testvérvárosok | cpp17 | Időlimit túllépés 15/100 | 1.582s | 43696 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)->multiset<int>{
multiset<int>s;
for(auto[j,d]:g[i]){
if(j==p){
continue;
}
auto z=self(self,j,i,x+d);
ans+=z.count(x%K);
if(z.size()>s.size()){
swap(s,z);
}
for(int y:z){
ans+=s.count(((x*2-y)%K+K)%K);
}
s.insert(z.begin(),z.end());
}
s.insert(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 | 1824 KiB | ||||
2 | Elfogadva | 3ms | 2072 KiB | ||||
subtask2 | 15/15 | ||||||
3 | Elfogadva | 3ms | 2284 KiB | ||||
4 | Elfogadva | 3ms | 2440 KiB | ||||
5 | Elfogadva | 3ms | 2768 KiB | ||||
6 | Elfogadva | 3ms | 2768 KiB | ||||
7 | Elfogadva | 4ms | 2892 KiB | ||||
8 | Elfogadva | 3ms | 2852 KiB | ||||
9 | Elfogadva | 4ms | 3140 KiB | ||||
subtask3 | 0/15 | ||||||
10 | Elfogadva | 363ms | 6768 KiB | ||||
11 | Elfogadva | 24ms | 5580 KiB | ||||
12 | Időlimit túllépés | 1.582s | 8432 KiB | ||||
13 | Időlimit túllépés | 1.582s | 7468 KiB | ||||
14 | Időlimit túllépés | 1.562s | 7844 KiB | ||||
subtask4 | 0/20 | ||||||
15 | Elfogadva | 3ms | 3508 KiB | ||||
16 | Elfogadva | 3ms | 4152 KiB | ||||
17 | Elfogadva | 8ms | 8216 KiB | ||||
18 | Elfogadva | 37ms | 21764 KiB | ||||
19 | Elfogadva | 82ms | 29640 KiB | ||||
20 | Elfogadva | 225ms | 39440 KiB | ||||
21 | Időlimit túllépés | 1.577s | 18580 KiB | ||||
22 | Elfogadva | 97ms | 43696 KiB | ||||
subtask5 | 0/50 | ||||||
23 | Elfogadva | 100ms | 16096 KiB | ||||
24 | Elfogadva | 50ms | 10660 KiB | ||||
25 | Elfogadva | 68ms | 13364 KiB | ||||
26 | Elfogadva | 23ms | 6540 KiB | ||||
27 | Elfogadva | 50ms | 10536 KiB | ||||
28 | Elfogadva | 134ms | 17032 KiB | ||||
29 | Elfogadva | 96ms | 16232 KiB | ||||
30 | Időlimit túllépés | 1.552s | 8700 KiB | ||||
31 | Elfogadva | 108ms | 17560 KiB |