From 7d531d4aa86cfa5482303145bb1b47c7472cae56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=84=9D=7CMinseok=20Kim?= Date: Wed, 13 Mar 2024 13:36:13 +0900 Subject: [PATCH 01/12] =?UTF-8?q?16=EC=B0=A8=EC=8B=9C=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=20=EC=84=A0=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- alstjr7437/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/alstjr7437/README.md b/alstjr7437/README.md index f3af489..4b3dfca 100644 --- a/alstjr7437/README.md +++ b/alstjr7437/README.md @@ -17,3 +17,4 @@ | 13차시 | 2024.02.29 | DP | 쉬운 계단 수 | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/42 | | 14차시 | 2024.03.03 | 브루트포스 | 마인크래프트 | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/48 | | 15차시 | 2024.03.09 | 우선순위 큐 | 파일 합치기3 | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/53 | +| 16차시 | 2024.03.13 | 정렬 | 선 긋기 | https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/57 | \ No newline at end of file From 80235f811981eb3a8dc95eae9f2aa95afcaa2365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=84=9D=7CMinseok=20Kim?= Date: Wed, 13 Mar 2024 14:48:03 +0900 Subject: [PATCH 02/12] 2024-03-13 solved --- .../tempCodeRunnerFile.py" | 3 +++ .../\354\204\240 \352\270\213\352\270\260.py" | 27 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 "alstjr7437/\354\240\225\353\240\254/tempCodeRunnerFile.py" create mode 100644 "alstjr7437/\354\240\225\353\240\254/\354\204\240 \352\270\213\352\270\260.py" diff --git "a/alstjr7437/\354\240\225\353\240\254/tempCodeRunnerFile.py" "b/alstjr7437/\354\240\225\353\240\254/tempCodeRunnerFile.py" new file mode 100644 index 0000000..01e1add --- /dev/null +++ "b/alstjr7437/\354\240\225\353\240\254/tempCodeRunnerFile.py" @@ -0,0 +1,3 @@ + +# dohwaji[i][0] += 1000000000 +# dohwaji[i][1] += 1000000000 \ No newline at end of file diff --git "a/alstjr7437/\354\240\225\353\240\254/\354\204\240 \352\270\213\352\270\260.py" "b/alstjr7437/\354\240\225\353\240\254/\354\204\240 \352\270\213\352\270\260.py" new file mode 100644 index 0000000..0bfd88f --- /dev/null +++ "b/alstjr7437/\354\240\225\353\240\254/\354\204\240 \352\270\213\352\270\260.py" @@ -0,0 +1,27 @@ +import sys +input = sys.stdin.readline + +n = int(input()) +dohwaji = [tuple(map(int,(input().split()))) for _ in range(n)] + +# for i in range(len(dohwaji)): +# dohwaji[i][0] += 1000000000 +# dohwaji[i][1] += 1000000000 + +dohwaji.sort() + +line = dohwaji[0][1] +answer = dohwaji[0][1] - dohwaji[0][0] + +for left, right in dohwaji[1:]: + if right <= line: + continue + elif line < left: + answer += right - left + line = right + elif line >= left and right > line: + answer += right - line + line = right + # print(answer) + +print(answer) \ No newline at end of file From 1f1023f1e182fad58198e2a89cffae6c37a94c44 Mon Sep 17 00:00:00 2001 From: Taewon <71972587+fnzksxl@users.noreply.github.com> Date: Wed, 13 Mar 2024 18:45:07 +0800 Subject: [PATCH 03/12] =?UTF-8?q?2024-03-13=20=ED=83=80=EC=9E=84=EB=A8=B8?= =?UTF-8?q?=EC=8B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fnzksxl/README.md | 1 + ...00\354\236\204\353\250\270\354\213\240.py" | 38 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 "fnzksxl/\353\262\250\353\247\214\355\217\254\353\223\234/\355\203\200\354\236\204\353\250\270\354\213\240.py" diff --git a/fnzksxl/README.md b/fnzksxl/README.md index 318734c..af1e272 100644 --- a/fnzksxl/README.md +++ b/fnzksxl/README.md @@ -13,4 +13,5 @@ | 9차시 | 2024-02-23 | 그래프 | [순위](https://school.programmers.co.kr/learn/courses/30/lessons/49191) | [#37](https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/37) | | 10차시 | 2024-03-07 | 구현 | [나무 재테크](https://www.acmicpc.net/problem/16235) | [#52](https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/52) | | 11차시 | 2024-03-10 | 투포인터 | [보석 쇼핑](https://school.programmers.co.kr/learn/courses/30/lessons/67258) | [#56](https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/56) | +| 12차시 | 2024-03-13 | 벨만포드 | [타임머신](https://www.acmicpc.net/problem/11657) | [#](https://github.com/AlgoLeadMe/AlgoLeadMe-6/pull/58) | --- diff --git "a/fnzksxl/\353\262\250\353\247\214\355\217\254\353\223\234/\355\203\200\354\236\204\353\250\270\354\213\240.py" "b/fnzksxl/\353\262\250\353\247\214\355\217\254\353\223\234/\355\203\200\354\236\204\353\250\270\354\213\240.py" new file mode 100644 index 0000000..7d2d39b --- /dev/null +++ "b/fnzksxl/\353\262\250\353\247\214\355\217\254\353\223\234/\355\203\200\354\236\204\353\250\270\354\213\240.py" @@ -0,0 +1,38 @@ +import sys + +input = sys.stdin.readline + + +def func(): + distances[1] = 0 + + for i in range(N): + for j in range(M): + cur_node, next_node, weight = edges[j] + if distances[cur_node] != float('inf') and distances[next_node] > distances[cur_node] + weight: + distances[next_node] = distances[cur_node] + weight + if i == N-1: + return False + + return True + + +N, M = map(int, input().split()) + +edges = [] +distances = [float('inf')] * (N+1) +q = [] + +for _ in range(M): + start, end, weight = map(int, input().split()) + edges.append((start, end, weight)) + + +if func(): + for weight in distances[2:]: + if weight == float('inf'): + print(-1) + else: + print(weight) +else: + print(-1) From 2ee18d41e784a77af6f7470fda5dbd519ceeb2c5 Mon Sep 17 00:00:00 2001 From: JangHongJoon Date: Wed, 13 Mar 2024 20:54:15 +0900 Subject: [PATCH 04/12] =?UTF-8?q?=EB=A6=AC=EB=B7=B0=20=ED=92=80=EC=9D=B4?= =?UTF-8?q?=20=EC=BB=A4=EB=B0=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ACM-13975.py" | 17 +++++++ .../ACM-16235.py" | 49 +++++++++++++++++++ .../ACM-1629.py" | 12 +++++ 3 files changed, 78 insertions(+) create mode 100644 "wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-13975.py" create mode 100644 "wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-16235.py" create mode 100644 "wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-1629.py" diff --git "a/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-13975.py" "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-13975.py" new file mode 100644 index 0000000..75d61b8 --- /dev/null +++ "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-13975.py" @@ -0,0 +1,17 @@ +import sys +from heapq import * +input = sys.stdin.readline +T = int(input()) +for _ in range(T): + N = int(input()) + chapters = list(map(int, input().split())) + time_list = [] + min_time=0 + for chapter in chapters : + heappush(time_list, chapter) + while len(time_list) > 1 : + temp =0 + temp += heappop(time_list) + heappop(time_list) + heappush(time_list, temp) + min_time += temp + print(min_time) \ No newline at end of file diff --git "a/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-16235.py" "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-16235.py" new file mode 100644 index 0000000..2b59511 --- /dev/null +++ "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-16235.py" @@ -0,0 +1,49 @@ +import sys +from collections import deque +input = sys.stdin.readline + +dx = [-1,-1,-1,0,0,1,1,1] +dy = [-1,0,1,-1,1,-1,0,1] + +N,M,K = map(int, input().split()) +A = [list(map(int, input().split())) for _ in range(N)] +trees = [[deque() for _ in range(N)] for _ in range(N)] + +for _ in range(M) : + x,y,z = map(int, input().split()) + trees[x-1][y-1].append(z) + +ground = [[5] * N for _ in range(N)] +for _ in range(K) : + + for i in range(N) : + for j in range(N): + trees_length = len(trees[i][j]) + for k in range(trees_length) : + if ground[i][j] >= trees[i][j][k] : + ground[i][j] -= trees[i][j][k] + trees[i][j][k] += 1 + else : + for _ in range(k,trees_length): + ground[i][j] += trees[i][j].pop() // 2 + break + + for i in range(N): + for j in range(N) : + for z in trees[i][j] : + if z % 5 == 0: + for idx in range(8): + move_x = i + dx[idx] + move_y = j + dy[idx] + if 0 <= move_x < N and 0 <= move_y < N : + trees[move_x][move_y].appendleft(1) + ground[i][j] += A[i][j] + +answer = 0 +for i in range(N) : + for j in range(N): + answer += len(trees[i][j]) +print(answer) + + + diff --git "a/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-1629.py" "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-1629.py" new file mode 100644 index 0000000..709ed30 --- /dev/null +++ "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-1629.py" @@ -0,0 +1,12 @@ +import sys +input = sys.stdin.readline + +def power(A,B,C): + if (B == 1) : return A%C + else : + temp = power(A,B//2, C) + if (B%2 == 0) : return temp * temp % C + else : return temp * temp * A % C + +A,B,C = map(int, input().split()) +print(power(A,B,C)) \ No newline at end of file From 320fa6307d26bd5d9af741b58301eef4ff29d2ee Mon Sep 17 00:00:00 2001 From: JangHongJoon Date: Wed, 13 Mar 2024 21:40:39 +0900 Subject: [PATCH 05/12] 2024.03.13 solved --- .../ACM-20902.py" | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 "wkdghdwns199/\354\247\221\355\225\251\352\263\274_\353\247\265/ACM-20902.py" diff --git "a/wkdghdwns199/\354\247\221\355\225\251\352\263\274_\353\247\265/ACM-20902.py" "b/wkdghdwns199/\354\247\221\355\225\251\352\263\274_\353\247\265/ACM-20902.py" new file mode 100644 index 0000000..02c9947 --- /dev/null +++ "b/wkdghdwns199/\354\247\221\355\225\251\352\263\274_\353\247\265/ACM-20902.py" @@ -0,0 +1,17 @@ +import sys +input = sys.stdin.readline +N,M = map(int, input().split()) +word_count = {} +for _ in range(N): + word = input().rstrip() + if len(word) >= M : + if word in word_count : + word_count[word] += 1 + else : + word_count[word] = 1 + +# print(word_count.items()) +sorted_word_list = sorted(word_count.items(), key=lambda word_info : (-word_info[1], -len(word_info[0]), word_info[0])) +# print() +for word in sorted_word_list : + print(word[0]) From 332b9983040a48f68718b4370c5e962352642917 Mon Sep 17 00:00:00 2001 From: JangHongJoon Date: Wed, 13 Mar 2024 21:40:46 +0900 Subject: [PATCH 06/12] README update --- wkdghdwns199/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wkdghdwns199/README.md b/wkdghdwns199/README.md index 21e7e87..561b67a 100644 --- a/wkdghdwns199/README.md +++ b/wkdghdwns199/README.md @@ -14,4 +14,5 @@ | 10차시 | 2024.02.29 | 스택, 큐, 덱 | 큐 2 | 2024.02.29 | | 11차시 | 2024.03.03 | 스택, 큐, 덱 | 요세푸스 문제 0 | 2024.03.03 | | 12차시 | 2024.03.06 | DP | 다리 놓기 | 2024.03.06 | -| 13차시 | 2024.03.09 | DP | 정수 삼각형 | 2024.03.09 | \ No newline at end of file +| 13차시 | 2024.03.09 | DP | 정수 삼각형 | 2024.03.09 | +| 14차시 | 2024.03.13 | 집합과 맵 | 영단어 암기는 괴로워 | 2024.03.13 | \ No newline at end of file From 1c578ac02e97315dcd5b0d78bcc523928daedb92 Mon Sep 17 00:00:00 2001 From: JangHongJoon Date: Wed, 13 Mar 2024 21:52:58 +0900 Subject: [PATCH 07/12] 2024.03.13 another solve --- .../ACM-20902.py" | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git "a/wkdghdwns199/\354\247\221\355\225\251\352\263\274_\353\247\265/ACM-20902.py" "b/wkdghdwns199/\354\247\221\355\225\251\352\263\274_\353\247\265/ACM-20902.py" index 02c9947..b4ca7f1 100644 --- "a/wkdghdwns199/\354\247\221\355\225\251\352\263\274_\353\247\265/ACM-20902.py" +++ "b/wkdghdwns199/\354\247\221\355\225\251\352\263\274_\353\247\265/ACM-20902.py" @@ -6,12 +6,15 @@ word = input().rstrip() if len(word) >= M : if word in word_count : - word_count[word] += 1 + word_count[word][0] += 1 else : - word_count[word] = 1 + word_count[word] = [1,len(word)] -# print(word_count.items()) -sorted_word_list = sorted(word_count.items(), key=lambda word_info : (-word_info[1], -len(word_info[0]), word_info[0])) -# print() +print() +for key in word_count : + print (key) + +sorted_word_list = sorted(word_count, key=lambda key : (-word_count[key][0], -word_count[key][1], key)) +print() for word in sorted_word_list : - print(word[0]) + print(word) From c4a1bc4636be524a6080c665b3a010244aada67d Mon Sep 17 00:00:00 2001 From: JangHongJoon Date: Wed, 20 Mar 2024 21:27:21 +0900 Subject: [PATCH 08/12] README.md update --- wkdghdwns199/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wkdghdwns199/README.md b/wkdghdwns199/README.md index 21e7e87..e618fec 100644 --- a/wkdghdwns199/README.md +++ b/wkdghdwns199/README.md @@ -14,4 +14,5 @@ | 10차시 | 2024.02.29 | 스택, 큐, 덱 | 큐 2 | 2024.02.29 | | 11차시 | 2024.03.03 | 스택, 큐, 덱 | 요세푸스 문제 0 | 2024.03.03 | | 12차시 | 2024.03.06 | DP | 다리 놓기 | 2024.03.06 | -| 13차시 | 2024.03.09 | DP | 정수 삼각형 | 2024.03.09 | \ No newline at end of file +| 13차시 | 2024.03.09 | DP | 정수 삼각형 | 2024.03.09 | +| 13차시 | 2024.03.20 | 우선순위 큐 | 정수 삼각형 | 2024.03.20 | \ No newline at end of file From 05454b900de111aeca874738c9cd42d9537fd961 Mon Sep 17 00:00:00 2001 From: JangHongJoon Date: Wed, 20 Mar 2024 21:27:32 +0900 Subject: [PATCH 09/12] 2024.03.20 solved --- .../ACM-11286.py" | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 "wkdghdwns199/\354\232\260\354\204\240\354\210\234\354\234\204_\355\201\220/ACM-11286.py" diff --git "a/wkdghdwns199/\354\232\260\354\204\240\354\210\234\354\234\204_\355\201\220/ACM-11286.py" "b/wkdghdwns199/\354\232\260\354\204\240\354\210\234\354\234\204_\355\201\220/ACM-11286.py" new file mode 100644 index 0000000..8fe9372 --- /dev/null +++ "b/wkdghdwns199/\354\232\260\354\204\240\354\210\234\354\234\204_\355\201\220/ACM-11286.py" @@ -0,0 +1,24 @@ +import sys, heapq +input =sys.stdin.readline +min_heap = [] +max_heap = [] +N = int(input()) +for _ in range(N): + number = int(input()) + if (number > 0) : + heapq.heappush(min_heap, number) + elif (number < 0) : + heapq.heappush(max_heap, -number) + else : + if min_heap : + if max_heap : + if min_heap[0] < max_heap[0] : + print(heapq.heappop(min_heap)) + else : + print(-heapq.heappop(max_heap)) + else : + print(heapq.heappop(min_heap)) + elif max_heap : + print(-heapq.heappop(max_heap)) + else : + print(0) \ No newline at end of file From d44fd9fd19a333b12daee01aa43d71077c4b9bd8 Mon Sep 17 00:00:00 2001 From: JangHongJoon Date: Wed, 20 Mar 2024 21:30:23 +0900 Subject: [PATCH 10/12] README.md update --- wkdghdwns199/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wkdghdwns199/README.md b/wkdghdwns199/README.md index e618fec..3a4fd20 100644 --- a/wkdghdwns199/README.md +++ b/wkdghdwns199/README.md @@ -15,4 +15,4 @@ | 11차시 | 2024.03.03 | 스택, 큐, 덱 | 요세푸스 문제 0 | 2024.03.03 | | 12차시 | 2024.03.06 | DP | 다리 놓기 | 2024.03.06 | | 13차시 | 2024.03.09 | DP | 정수 삼각형 | 2024.03.09 | -| 13차시 | 2024.03.20 | 우선순위 큐 | 정수 삼각형 | 2024.03.20 | \ No newline at end of file +| 15차시 | 2024.03.20 | 우선순위 큐 | 절댓값 힙 | 2024.03.20 | \ No newline at end of file From 3fc286da5d7cce424fc043390118d2333bcf5e33 Mon Sep 17 00:00:00 2001 From: JangHongJoon Date: Sat, 23 Mar 2024 13:50:59 +0900 Subject: [PATCH 11/12] =?UTF-8?q?=EB=A6=AC=EB=B7=B0=20=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ACM-11657.py" | 77 +++++++++++++++++++ .../ACM-11659.py" | 11 +++ .../ACM-2170.py" | 17 ++++ 3 files changed, 105 insertions(+) create mode 100644 "wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-11657.py" create mode 100644 "wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-11659.py" create mode 100644 "wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-2170.py" diff --git "a/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-11657.py" "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-11657.py" new file mode 100644 index 0000000..8c4218c --- /dev/null +++ "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-11657.py" @@ -0,0 +1,77 @@ +''' +문제 +N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 버스가 M개 있다. +각 버스는 A, B, C로 나타낼 수 있는데, A는 시작도시, B는 도착도시, C는 버스를 타고 이동하는데 걸리는 시간이다. +시간 C가 양수가 아닌 경우가 있다. C = 0인 경우는 순간 이동을 하는 경우, C < 0인 경우는 타임머신으로 시간을 되돌아가는 경우이다. + +1번 도시에서 출발해서 나머지 도시로 가는 가장 빠른 시간을 구하는 프로그램을 작성하시오. + +입력 +첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수 M (1 ≤ M ≤ 6,000)이 주어진다. +둘째 줄부터 M개의 줄에는 버스 노선의 정보 A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)가 주어진다. + +출력 +만약 1번 도시에서 출발해 어떤 도시로 가는 과정에서 시간을 무한히 오래 전으로 되돌릴 수 있다면 첫째 줄에 -1을 출력한다. +그렇지 않다면 N-1개 줄에 걸쳐 각 줄에 1번 도시에서 출발해 2번 도시, 3번 도시, ..., N번 도시로 가는 가장 빠른 시간을 순서대로 출력한다. +만약 해당 도시로 가는 경로가 없다면 대신 -1을 출력한다. + +예제 입력 1 +3 4 +1 2 4 +1 3 3 +2 3 -1 +3 1 -2 +예제 출력 1 +4 +3 +예제 입력 2 +3 4 +1 2 4 +1 3 3 +2 3 -4 +3 1 -2 +예제 출력 2 +-1 +예제 입력 3 +3 2 +1 2 4 +1 2 3 +예제 출력 3 +3 +-1 + +''' + +import sys +input = sys.stdin.readline +INF = int(1e9) + +def bellman_ford(start): + dist[start] = 0 + + for i in range(1,n+1): + for j in range(m): + now, next, cost = edges[j][0], edges[j][1], edges[j][2] + if dist[now] != INF and dist[next] > dist[now] + cost: + dist[next] = dist[now] + cost + if i == n : + return True + return False + +n,m = map(int, input().split()) +edges = [] +dist = [INF] * (n+1) + +for _ in range(m): + a,b,c = map(int, input().split()) + edges.append((a,b,c)) + +negative_cycle = bellman_ford(1) +if negative_cycle : + print(-1) +else : + for i in range(2,n+1): + if dist[i] == INF: + print(-1) + else : + print(dist[i]) \ No newline at end of file diff --git "a/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-11659.py" "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-11659.py" new file mode 100644 index 0000000..e9af25e --- /dev/null +++ "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-11659.py" @@ -0,0 +1,11 @@ +import sys +input = sys.stdin.readline +N,M = map(int, input().split()) +num_list = list(map(int, input().split())) +accumulate_list = [0] * (N+1) +for i in range(N): + accumulate_list[i+1] = accumulate_list[i] + num_list[i] + +for _ in range(M): + start, end = map(int, input().split()) + print(accumulate_list[end] - accumulate_list[start-1]) \ No newline at end of file diff --git "a/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-2170.py" "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-2170.py" new file mode 100644 index 0000000..d527e6e --- /dev/null +++ "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-2170.py" @@ -0,0 +1,17 @@ +import sys +input = sys.stdin.readline +N = int(input()) +lines = [list(map(int, input().rstrip().split())) for _ in range(N)] +lines.sort() + +length =0 +current_start = lines[0][0] +current_end = lines[0][1] +for start, end in lines[1:]: + if start > current_end : + print(start, current_end) + length += (current_end - current_start) + current_start = start + current_end = max(current_end, end) +length += (current_end - current_start) +print(length) \ No newline at end of file From 158c6a843c99e8540846900fe76a913bb5641c84 Mon Sep 17 00:00:00 2001 From: JangHongJoon Date: Sat, 23 Mar 2024 20:48:28 +0900 Subject: [PATCH 12/12] =?UTF-8?q?=EB=A6=AC=EB=B7=B0=20=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ACM-14938.py" | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 "wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-14938.py" diff --git "a/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-14938.py" "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-14938.py" new file mode 100644 index 0000000..1185986 --- /dev/null +++ "b/wkdghdwns199/\353\246\254\353\267\260\355\222\200\354\235\264/ACM-14938.py" @@ -0,0 +1,42 @@ +import sys +from heapq import * +input = sys.stdin.readline + +def dijkstra(graph, start): + length = [float('inf') for _ in graph] + length[start] = 0 + queue = [] + heappush(queue, [length[start], start]) + + while queue: + current_length, current_target = heappop(queue) + + if length[current_target] < current_length : + continue + + for new_target, new_length in graph[current_target] : + len = current_length + new_length + if len < length[new_target]: + length[new_target] = len + heappush(queue, [len, new_target]) + return length + +items = [] +N,M,R = map(int, input().split()) +T = list(map(int, input().split())) +graph = [[] for _ in range(N+1)] + +for _ in range(R): + start, end, weight = map(int, input().split()) + graph[start].append((end, weight)) + graph[end].append((start, weight)) + +for item in range(1, len(graph)) : + result = dijkstra(graph, item) + get = 0 + for i in range(len(result)): + if result[i] <= M : + get += T[i-1] + items.append(get) + +print(max(items))