2 solutions

  • 0
    @ 2026-3-2 18:16:52

    40分 Time Exceeded

    #include<bits/stdc++.h>
    using namespace std;
    const int N=2e5+10;
    vector<int> v[N];
    int f[N];
    int n,q;
    void dfs(int p,int x)
    {
        f[p]+=x;
        for(int i=0;i<v[p].size();i++)
        {
            dfs(v[p][i],x);
        }
    }
    int main()
    {
        cin>>n>>q;
        for(int i=1;i<n;i++)
        {
            int a,b;
            cin>>a>>b;
            v[a].push_back(b);
        }
        for(int i=1;i<=q;i++)
        {
            int p,x;
            cin>>p>>x;
            dfs(p,x);
        }
        for(int i=1;i<=n;i++)
        {
            cout<<f[i]<<" ";
        }
        return 0;
    }
    

    Information

    ID
    2599
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    # Submissions
    26
    Accepted
    8
    Uploaded By