RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R00033

임계 경로 찾기

Gold I 골드 I
난이도
1s
시간 제한
256MB
메모리 제한
1
맞았습니다!!
1
제출 수
100.0%
정답률
레이팅

의견: 0

설명

\(N\)개의 정점과 \(M\)개의 방향 간선으로 이루어진 방향 비순환 그래프, 즉 DAG가 주어진다.

각 간선에는 이동 시간이 있다.

시작 정점 \(S\)에서 도착 정점 \(T\)까지 이동하려고 한다.
가능한 경로 중 이동 시간의 합이 가장 큰 경로를 최장 경로라고 하자.

다음 두 값을 구하시오.

\(S\)에서 \(T\)까지 가는 최장 경로의 길이
\(S\)에서 \(T\)까지 가는 최장 경로에 포함될 수 있는 간선의 개수

어떤 간선이 여러 최장 경로에 포함되더라도 한 번만 센다.

제약

\(2 \le N \le 200\,000\)
\(1 \le M \le 200\,000\)
\(1 \le a, b, S, T \le N\)
\(1 \le w \le 10^9\)
주어지는 그래프는 DAG이다.
\(S\)에서 \(T\)로 가는 경로가 적어도 하나 존재한다.

입력 형식

첫째 줄에 정점의 개수 \(N\)과 간선의 개수 \(M\)이 주어진다.

둘째 줄부터 \(M\)개의 줄에는 간선 정보 \(a\ b\ w\)가 주어진다.

이는 정점 \(a\)에서 정점 \(b\)로 가는 시간이 \(w\)인 방향 간선이 존재한다는 뜻이다.

마지막 줄에는 시작 정점 \(S\)와 도착 정점 \(T\)가 주어진다.

출력 형식

첫째 줄에 \(S\)에서 \(T\)까지 가는 최장 경로의 길이를 출력한다.

둘째 줄에 최장 경로에 포함될 수 있는 간선의 개수를 출력한다.

예제 1
입력
7 8
1 2 4
1 3 2
2 4 7
3 4 9
2 5 3
4 6 1
5 6 10
6 7 5
1 7
출력
22
4
문제 정보

anthony0506 작성

출처 anthony0506

평가 및 의견

임계 경로 찾기

개요
출제자 난이도 Gold I 골드 I 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

임계 경로 찾기

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8