// "A delivery company has n depots numbered 0 ... n-1, connected by n-1 two-way roads so that every depot can reach the HQ at depot 0 (the road network forms a tree). Every depot except the HQ has exactly ONE package that must be driven to the HQ. Each van holds up to `seats` packages, and driving a van across ONE road costs 1 litre of fuel. Vans may combine loads: when routes meet, packages can be pooled into fewer vans.
// Given the roads as pairs [a, b] and the value `seats`, return the minimum total litres of fuel needed to bring every package to depot 0.
// (1 <= n <= 10^5; roads.length == n-1; 1 <= seats <= 10^5.)
// Example 1:
// Input: roads = [[0,1],[0,2],[0,3]], seats = 5
// Output: 3
// Explanation: Depots 1, 2, 3 each drive their package one road to depot 0: 1 + 1 + 1 = 3 litres.
// Example 2:
// Input: roads = [[3,1],[3,2],[1,0],[0,4],[0,5],[4,6]], seats = 2
// Output: 7
// Explanation: Packages pool as they move toward 0; with 2 seats per van the total works out to 7 litres.
// Example 3:
// Input: roads = [], seats = 1
// Output: 0
// Explanation: Only the HQ exists; nothing to deliver."
#include <iostream>
using namespace std;
int main( ) {
// your code goes here
return 0 ;
}
Ly8gIkEgZGVsaXZlcnkgY29tcGFueSBoYXMgbiBkZXBvdHMgbnVtYmVyZWQgMCAuLi4gbi0xLCBjb25uZWN0ZWQgYnkgbi0xIHR3by13YXkgcm9hZHMgc28gdGhhdCBldmVyeSBkZXBvdCBjYW4gcmVhY2ggdGhlIEhRIGF0IGRlcG90IDAgKHRoZSByb2FkIG5ldHdvcmsgZm9ybXMgYSB0cmVlKS4gRXZlcnkgZGVwb3QgZXhjZXB0IHRoZSBIUSBoYXMgZXhhY3RseSBPTkUgcGFja2FnZSB0aGF0IG11c3QgYmUgZHJpdmVuIHRvIHRoZSBIUS4gRWFjaCB2YW4gaG9sZHMgdXAgdG8gYHNlYXRzYCBwYWNrYWdlcywgYW5kIGRyaXZpbmcgYSB2YW4gYWNyb3NzIE9ORSByb2FkIGNvc3RzIDEgbGl0cmUgb2YgZnVlbC4gVmFucyBtYXkgY29tYmluZSBsb2Fkczogd2hlbiByb3V0ZXMgbWVldCwgcGFja2FnZXMgY2FuIGJlIHBvb2xlZCBpbnRvIGZld2VyIHZhbnMuCiAgCiAKCi8vICAgR2l2ZW4gdGhlIHJvYWRzIGFzIHBhaXJzIFthLCBiXSBhbmQgdGhlIHZhbHVlIGBzZWF0c2AsIHJldHVybiB0aGUgbWluaW11bSB0b3RhbCBsaXRyZXMgb2YgZnVlbCBuZWVkZWQgdG8gYnJpbmcgZXZlcnkgcGFja2FnZSB0byBkZXBvdCAwLgovLyAgICgxIDw9IG4gPD0gMTBeNTsgcm9hZHMubGVuZ3RoID09IG4tMTsgMSA8PSBzZWF0cyA8PSAxMF41LikKCi8vIEV4YW1wbGUgMToKLy8gICBJbnB1dDogcm9hZHMgPSBbWzAsMV0sWzAsMl0sWzAsM11dLCBzZWF0cyA9IDUKLy8gICBPdXRwdXQ6IDMKLy8gICBFeHBsYW5hdGlvbjogRGVwb3RzIDEsIDIsIDMgZWFjaCBkcml2ZSB0aGVpciBwYWNrYWdlIG9uZSByb2FkIHRvIGRlcG90IDA6IDEgKyAxICsgMSA9IDMgbGl0cmVzLgogIAogCgovLyAgIEV4YW1wbGUgMjoKLy8gICBJbnB1dDogcm9hZHMgPSBbWzMsMV0sWzMsMl0sWzEsMF0sWzAsNF0sWzAsNV0sWzQsNl1dLCBzZWF0cyA9IDIKLy8gICBPdXRwdXQ6IDcKLy8gICBFeHBsYW5hdGlvbjogUGFja2FnZXMgcG9vbCBhcyB0aGV5IG1vdmUgdG93YXJkIDA7IHdpdGggMiBzZWF0cyBwZXIgdmFuIHRoZSB0b3RhbCB3b3JrcyBvdXQgdG8gNyBsaXRyZXMuCiAgCiAKCi8vICAgRXhhbXBsZSAzOgovLyAgIElucHV0OiByb2FkcyA9IFtdLCBzZWF0cyA9IDEKLy8gICBPdXRwdXQ6IDAKLy8gICBFeHBsYW5hdGlvbjogT25seSB0aGUgSFEgZXhpc3RzOyBub3RoaW5nIHRvIGRlbGl2ZXIuIgoKI2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKfQ==