만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

탈출

시간 제한2초메모리 제한512 MB

요약
연결된 무방향 그래프에서 정점 1에서 출발해 방금 지나온 간선을 곧바로 되돌아가지 않으면서 이동할 때, 처음 방문하는 정점의 값을 더해 얻을 수 있는 최대 점수를 구한다.
난이도

어려움10점 중 8점

유형
그래프, DFS, 그리디, 동적 계획법
정답자
아직 제출이 없습니다

문제

정점에 양의 값이 있는 무방향 그래프가 주어진다. 정점에는 1부터 NN까지 번호가 붙어 있고, ii번째 정점은 wiw_i의 값을 가진다. 1번 정점에서 시작하며, 직전에 지나온 간선은 지날 수 없다는 제약 아래 그래프 위를 이동할 수 있다. 각 정점에서는 처음 방문할 때에 한해 그 정점이 가진 값만큼의 점수를 얻는다.

얻을 수 있는 점수의 총합의 최댓값을 구하여라.

입력

입력은 다음 형식으로 표준 입력에서 주어진다.

NN MM

w1w_1 w2w_2 ...... wNw_N

u1u_1 v1v_1

u2u_2 v2v_2

......

uMu_M vMv_M

1번째 줄에는 그래프의 정점 수 NN과 간선 수 MM이 주어진다. 2번째 줄에는 각 정점이 가지는 값 wiw_i가 주어진다. 이어서 MM개의 줄에 각 간선으로 연결된 두 정점의 번호가 주어진다.

출력

답을 1줄에 출력하여라.

제한

  • 1≤N≤1000001 \leq N \leq 100000
  • N−1≤M≤100000N-1 \leq M \leq 100000
  • 1≤wi≤10001 \leq w_i \leq 1000
  • 1≤ui,vi≤N1 \leq u_i, v_i \leq N
  • 다중 간선과 자기 간선은 존재하지 않는다
  • 그래프는 연결되어 있다

예제2

  1. 예제 1

    입력
    6 6
    1 2 3 4 5 6
    1 2
    2 3
    3 4
    1 4
    4 5
    5 6
    
    예상 출력
    21
    
  2. 예제 2

    입력
    7 8
    1 3 3 5 2 2 3
    1 2
    2 3
    3 1
    1 4
    1 7
    1 5
    1 6
    5 6
    
    예상 출력
    16