#include<stdio.h>
#include<algorithm>
using namespace std;
struct Ed {
int s, e, w;
bool operator <(const Ed p) {
if (w != p.w)return w > p.w;
return s < p.s;
}
}E[121212];
struct Qr {
int k, w,qw;
bool operator <(const Qr p) {
if (k != p.k)return k > p.k;
return w < p.w;
}
}Q[121212];
int ans[121212];
int par[121212], cd[121212];
int find(int x) {
if (par[x] == x)return x;
return par[x] = find(par[x]);
}
void union_(int a,int b){
int pa = find(a);
int pb = find(b);
par[pa] = pb;
cd[pb] += cd[pa];
}
int main() {
int n, q;
int i, j;
scanf("%d%d", &n, &q);
for (i = 0; i < n - 1; i++) scanf("%d%d%d", &E[i].s, &E[i].e, &E[i].w);
for (i = 0; i < q; i++)scanf("%d%d", &Q[i].k, &Q[i].w),Q[i].qw=i;
sort(E, E + n - 1), sort(Q, Q + q);
for (i = 1; i <= n; i++)par[i] = i, cd[i] = 1;
int now = 0;
for (i = 0; i < q; i++) {
while (E[now].w >= Q[i].k)union_(E[now].s, E[now].e), now++;
ans[Q[i].qw] = cd[find(Q[i].w)] - 1;
}
for (i = 0; i < q; i++)printf("%d\n", ans[i]);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpzdHJ1Y3QgRWQgewoJaW50IHMsIGUsIHc7Cglib29sIG9wZXJhdG9yIDwoY29uc3QgRWQgcCkgewoJCWlmICh3ICE9IHAudylyZXR1cm4gdyA+IHAudzsKCQlyZXR1cm4gcyA8IHAuczsKCX0KfUVbMTIxMjEyXTsKc3RydWN0IFFyIHsKCWludCBrLCB3LHF3OwoJYm9vbCBvcGVyYXRvciA8KGNvbnN0IFFyIHApIHsKCQlpZiAoayAhPSBwLmspcmV0dXJuIGsgPiBwLms7CgkJcmV0dXJuIHcgPCBwLnc7Cgl9Cn1RWzEyMTIxMl07CmludCBhbnNbMTIxMjEyXTsKaW50IHBhclsxMjEyMTJdLCBjZFsxMjEyMTJdOwppbnQgZmluZChpbnQgeCkgewoJaWYgKHBhclt4XSA9PSB4KXJldHVybiB4OwoJcmV0dXJuIHBhclt4XSA9IGZpbmQocGFyW3hdKTsKfQp2b2lkIHVuaW9uXyhpbnQgYSxpbnQgYil7CglpbnQgcGEgPSBmaW5kKGEpOwoJaW50IHBiID0gZmluZChiKTsKCXBhcltwYV0gPSBwYjsKCWNkW3BiXSArPSBjZFtwYV07Cn0KaW50IG1haW4oKSB7CglpbnQgbiwgcTsKCWludCBpLCBqOwoJc2NhbmYoIiVkJWQiLCAmbiwgJnEpOwoJZm9yIChpID0gMDsgaSA8IG4gLSAxOyBpKyspIHNjYW5mKCIlZCVkJWQiLCAmRVtpXS5zLCAmRVtpXS5lLCAmRVtpXS53KTsKCWZvciAoaSA9IDA7IGkgPCBxOyBpKyspc2NhbmYoIiVkJWQiLCAmUVtpXS5rLCAmUVtpXS53KSxRW2ldLnF3PWk7Cglzb3J0KEUsIEUgKyBuIC0gMSksIHNvcnQoUSwgUSArIHEpOwoJZm9yIChpID0gMTsgaSA8PSBuOyBpKyspcGFyW2ldID0gaSwgY2RbaV0gPSAxOwoJaW50IG5vdyA9IDA7Cglmb3IgKGkgPSAwOyBpIDwgcTsgaSsrKSB7CgkJd2hpbGUgKEVbbm93XS53ID49IFFbaV0uayl1bmlvbl8oRVtub3ddLnMsIEVbbm93XS5lKSwgbm93Kys7CgkJYW5zW1FbaV0ucXddID0gY2RbZmluZChRW2ldLncpXSAtIDE7Cgl9Cglmb3IgKGkgPSAwOyBpIDwgcTsgaSsrKXByaW50ZigiJWRcbiIsIGFuc1tpXSk7CglyZXR1cm4gMDsKfQ==
Main.java:1: error: illegal character: '#'
#include<stdio.h>
^
Main.java:1: error: class, interface, or enum expected
#include<stdio.h>
^
Main.java:2: error: illegal character: '#'
#include<algorithm>
^
Main.java:4: error: class, interface, or enum expected
struct Ed {
^
Main.java:6: error: class, interface, or enum expected
bool operator <(const Ed p) {
^
Main.java:8: error: class, interface, or enum expected
return s < p.s;
^
Main.java:9: error: class, interface, or enum expected
}
^
Main.java:11: error: class, interface, or enum expected
struct Qr {
^
Main.java:13: error: class, interface, or enum expected
bool operator <(const Qr p) {
^
Main.java:15: error: class, interface, or enum expected
return w < p.w;
^
Main.java:16: error: class, interface, or enum expected
}
^
Main.java:18: error: class, interface, or enum expected
int ans[121212];
^
Main.java:19: error: class, interface, or enum expected
int par[121212], cd[121212];
^
Main.java:20: error: class, interface, or enum expected
int find(int x) {
^
Main.java:22: error: class, interface, or enum expected
return par[x] = find(par[x]);
^
Main.java:23: error: class, interface, or enum expected
}
^
Main.java:26: error: class, interface, or enum expected
int pb = find(b);
^
Main.java:27: error: class, interface, or enum expected
par[pa] = pb;
^
Main.java:28: error: class, interface, or enum expected
cd[pb] += cd[pa];
^
Main.java:29: error: class, interface, or enum expected
}
^
Main.java:32: error: class, interface, or enum expected
int i, j;
^
Main.java:33: error: class, interface, or enum expected
scanf("%d%d", &n, &q);
^
Main.java:34: error: class, interface, or enum expected
for (i = 0; i < n - 1; i++) scanf("%d%d%d", &E[i].s, &E[i].e, &E[i].w);
^
Main.java:34: error: class, interface, or enum expected
for (i = 0; i < n - 1; i++) scanf("%d%d%d", &E[i].s, &E[i].e, &E[i].w);
^
Main.java:34: error: class, interface, or enum expected
for (i = 0; i < n - 1; i++) scanf("%d%d%d", &E[i].s, &E[i].e, &E[i].w);
^
Main.java:35: error: class, interface, or enum expected
for (i = 0; i < q; i++)scanf("%d%d", &Q[i].k, &Q[i].w),Q[i].qw=i;
^
Main.java:35: error: class, interface, or enum expected
for (i = 0; i < q; i++)scanf("%d%d", &Q[i].k, &Q[i].w),Q[i].qw=i;
^
Main.java:35: error: class, interface, or enum expected
for (i = 0; i < q; i++)scanf("%d%d", &Q[i].k, &Q[i].w),Q[i].qw=i;
^
Main.java:36: error: class, interface, or enum expected
sort(E, E + n - 1), sort(Q, Q + q);
^
Main.java:37: error: class, interface, or enum expected
for (i = 1; i <= n; i++)par[i] = i, cd[i] = 1;
^
Main.java:37: error: class, interface, or enum expected
for (i = 1; i <= n; i++)par[i] = i, cd[i] = 1;
^
Main.java:37: error: class, interface, or enum expected
for (i = 1; i <= n; i++)par[i] = i, cd[i] = 1;
^
Main.java:38: error: class, interface, or enum expected
int now = 0;
^
Main.java:39: error: class, interface, or enum expected
for (i = 0; i < q; i++) {
^
Main.java:39: error: class, interface, or enum expected
for (i = 0; i < q; i++) {
^
Main.java:39: error: class, interface, or enum expected
for (i = 0; i < q; i++) {
^
Main.java:41: error: class, interface, or enum expected
ans[Q[i].qw] = cd[find(Q[i].w)] - 1;
^
Main.java:42: error: class, interface, or enum expected
}
^
Main.java:43: error: class, interface, or enum expected
for (i = 0; i < q; i++)printf("%d\n", ans[i]);
^
Main.java:43: error: class, interface, or enum expected
for (i = 0; i < q; i++)printf("%d\n", ans[i]);
^
Main.java:44: error: class, interface, or enum expected
return 0;
^
Main.java:45: error: class, interface, or enum expected
}
^
42 errors