[白俊1092]倍
6527 ワード
📃 問題の説明
ボート
[問題の出所:金俊]
👨💻 解決策
n個のクレーンの最大重量は、
箱の重さをm個あげます.
箱を最短時間に移動するには가능한 한번에 많은 크레인이 동시에 움직여야 한다.
うん.1.박스가 모두 옮겨질 때 까지
2.크레인이 옮길 수 있는 가장 무거운 박스를 옮김
3.모든 크레인을 확인했다면 result+1
三重ゲートで解いたらタイムアウト.
うん.
箱を移動したかどうかを確認し、移動した箱の位置を表示します.
不要な比較を減らして、結果は通過しました.
夜叉
👨💻 ソースコード n = int(input())
crane = sorted(list(map(int, input().split())), reverse=True)
m = int(input())
box = sorted(list(map(int, input().split())), reverse=True)
result = 0
count = 0
positions = [0] * n
checked = [0] * m
if box[0] > crane[0]:
print(-1)
else:
while count < len(box):
for i in range(n):
while positions[i] < len(box):
if not checked[positions[i]] and crane[i] >= box[positions[i]]:
checked[positions[i]] = True
positions[i] += 1
count += 1
break
positions[i] += 1
result += 1
print(result)
Reference
この問題について([白俊1092]倍), 我々は、より多くの情報をここで見つけました
https://velog.io/@choiyunh/백준-1092-배
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
n個のクレーンの最大重量は、
箱の重さをm個あげます.
箱を最短時間に移動するには
가능한 한번에 많은 크레인이 동시에 움직여야 한다.
うん.1.박스가 모두 옮겨질 때 까지
2.크레인이 옮길 수 있는 가장 무거운 박스를 옮김
3.모든 크레인을 확인했다면 result+1
三重ゲートで解いたらタイムアウト.うん.
箱を移動したかどうかを確認し、移動した箱の位置を表示します.
不要な比較を減らして、結果は通過しました.
夜叉
👨💻 ソースコード n = int(input())
crane = sorted(list(map(int, input().split())), reverse=True)
m = int(input())
box = sorted(list(map(int, input().split())), reverse=True)
result = 0
count = 0
positions = [0] * n
checked = [0] * m
if box[0] > crane[0]:
print(-1)
else:
while count < len(box):
for i in range(n):
while positions[i] < len(box):
if not checked[positions[i]] and crane[i] >= box[positions[i]]:
checked[positions[i]] = True
positions[i] += 1
count += 1
break
positions[i] += 1
result += 1
print(result)
Reference
この問題について([白俊1092]倍), 我々は、より多くの情報をここで見つけました
https://velog.io/@choiyunh/백준-1092-배
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
n = int(input())
crane = sorted(list(map(int, input().split())), reverse=True)
m = int(input())
box = sorted(list(map(int, input().split())), reverse=True)
result = 0
count = 0
positions = [0] * n
checked = [0] * m
if box[0] > crane[0]:
print(-1)
else:
while count < len(box):
for i in range(n):
while positions[i] < len(box):
if not checked[positions[i]] and crane[i] >= box[positions[i]]:
checked[positions[i]] = True
positions[i] += 1
count += 1
break
positions[i] += 1
result += 1
print(result)
Reference
この問題について([白俊1092]倍), 我々は、より多くの情報をここで見つけました https://velog.io/@choiyunh/백준-1092-배テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol