#include <iostream>
#include <vector>

using namespace std;
int n;
const int MaxN = 1e5;
long long w[MaxN + 1];
long long ans;
vector<int> g[MaxN + 1];

void dfs(int root, int fa) {
    for (int i = 0; i <
g[root].size(); ++i) {
        int son = g[root][i];
        if (son != fa) {
            dfs(son, root);
            if (w[son] > 0)
                w[root] += w[son];
        }
    }
    if (w[root] > ans)
ans = w[root];
}

void _cin() {
    std::ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin >> n;
    for (int i = 1; i <= n; ++i)
{
        cin >> w[i];
    }
    for (int j = 0; j < n - 1; ++j) {
        int v, u;
        cin >> u >> v;
        g[u].push_back(v);
        g[v].push_back(u);
    }
}

int main() {
    _cin();
    dfs(1, 0);
    cout << ans << endl;
    return 0;
}

最新文章

  1. sed教程
  2. JDBC操作Oracle数据库
  3. iOS H5 容器的一些探究(一):UIWebView 和 WKWebView 的比较和选择
  4. oracle 删除表、数据
  5. [JS前端开发] js/jquery控制页面动态加载数据 滑动滚动条自动加载事件
  6. PHP新闻系统开发流程
  7. hdu 5045 Contest(状态压缩DP)
  8. MySQL学习分享--数值类型
  9. 简单用数组模拟顺序栈(c++版)适合新手
  10. Mybatis-no getter for property named &#39;col_name&#39; in &#39;class com.xxx.onebean&#39;
  11. Java进阶(四十)Java类、变量、方法修饰符讲解
  12. celery使用
  13. MT【243】球内接四面体体积
  14. ELM:ELM实现鸢尾花种类测试集预测识别正确率(better)结果对比—Jason niu
  15. Thymeleaf教程入门到深入1:基础介绍
  16. jade(pug)学习和使用
  17. [Java]JavaScript在这里学习
  18. Mybatis知识(3)
  19. ActiveMQ监听消息并进行转发,监听不同的mq服务器和不同的队列
  20. (转)List&lt;T&gt;的各种排序方法

热门文章

  1. 【优雅写代码系统】springboot+mybatis+pagehelper+mybatisplus+druid教你如何优雅写代码
  2. centos7上安装redis以及PHP安装redis扩展(二)
  3. 04 . Docker安全与Docker底层实现
  4. IP地址和端口
  5. 【Azure SQL】数据库性能分析
  6. 使用Docker构建企业Jenkins CI平台
  7. uni-app之实现分页
  8. springcloud2.0 添加配置中心遇到的坑
  9. [ C++ ] 勿在浮沙筑高台 —— 内存管理(18~31p) std::alloc
  10. 阿里巴巴--mysql中Mysql模糊查询like效率,以及更高效的写法