/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 3ms 2.816 MiB
#2 Accepted 4ms 2.809 MiB
#3 Accepted 272ms 4.594 MiB
#4 Accepted 4ms 2.816 MiB
#5 Accepted 3ms 2.812 MiB

Code

#include<bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define dbg(a,b,c,d) cerr<<a<<"  "<<b<<"  "<<c<<"  "<<d<<endl;
#define kill(a) {cout<<a<<endl;continue;}
#define KILL(a) {cout<<a<<endl;return 0;}
#define debug cerr<<"Error Found"<<endl;
#define mem(a,b) memset(a,b,sizeof(a))
#define lcm(a, b) (a/__gcd(a,b))*b
#define w(t) cin>>t;while(t--)
#define pi  2 * acos(0.0)
#define endl "\n"
int t, cs = 0;
const int mxn = 1e5 + 3, mod = 1e9 + 7;
vector<int>adj[mxn];
int64_t cost[mxn];
void dfs(int n, int par, int dis)
{
    cost[dis]++;
    for(auto i:adj[n])if(i != par)dfs(i, n, dis + 1);
}
int32_t main()
{


    w(t)
    {
        int n, q;
        cin >> n>> q;
        for(int i = 0; i <= n; i++)adj[i].clear(), cost[i] = 0;

        for(int i = 1, a, b; i < n; i++)cin >> a >> b, adj[a].push_back(b), adj[b].push_back(a);
        dfs(1, -1, 0);
        for(int i = 1; i <= n; i++)cost[i] += cost[i - 1];
        while(q--)
        {
            int x;
            cin >> x;
            cout << cost[x] << endl;
        }

    }

}

Information

Submit By
Type
Submission
Problem
P1053 Water on Tree
Language
C++17 (G++ 13.2.0)
Submit At
2024-11-06 11:04:51
Judged At
2024-11-11 02:25:17
Judged By
Score
100
Total Time
272ms
Peak Memory
4.594 MiB