코드포스

Codeforces Round #800 (Div. 2)

Vermeil 2022. 6. 17. 03:33

결과가 마음에 안 든다.

 

 

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