결과가 마음에 안 든다.
A (00:03)
010101....꼴로 만들고, 남은 수는 오른쪽에 다 몰면 된다.
B (00:20)
'10' 또는 '01'꼴이 있다면, 그 왼쪽의 숫자들은 모두 없앨 수 있다. 그러니까 저 형태일 때 인덱스를 ans에 더해주면 된다.
C (00:30)
합이 0이 아닐 때, sum[1:k] < 0인 k가 존재할 때, A[-1] > 0일 때는 불가능하다. 그리고, 합이 sum[1:k] < 0인 모든 k(i<n)에 대해, sum[1:k + 1] != 0이면 불가능하다. 예제가 너무 착해서, 예제를 통한 유추가 가능했다.
D (01:39)
서브트리에서 합쳐주면서 올라가면 된다. L, R으로 비교하면 된다.
E (--:--)
업솔빙했다.
간선의 방향을 뒤집고 다익스트라를 돌리면 된다. 다만, outdegree 또한 비용이므로 지나왔을 때 해당하는 outdegree에 1을 빼주면 된다.
'코드포스' 카테고리의 다른 글
Codeforces Global Round 21 (퍼플 승급!) (2) | 2022.06.26 |
---|---|
Codeforces Round #802 (Div. 2) (2) | 2022.06.19 |
Educational Codeforces Round 130 (Div. 2) (0) | 2022.06.13 |
Codeforces Round #796 (Div. 2) (0) | 2022.06.04 |
Codeforces Round #788 (Div. 2) (2) | 2022.05.07 |