본문 바로가기
BOJ

[python] 백준 26267번 - 은?행 털!자

by yujinkimkim 2023. 2. 8.

26267번: 은?행 털!자 1 (acmicpc.net)

 

26267번: 은?행 털!자 1

프로 은행강도 시우가 은행을 털려고 한다. 시우가 달려가는 일직선 경로 위엔 $N$개의 은행이 있다. $i$번째 은행은 직선상에서 서로 다른 좌표 $X_i$에 위치하며, 시간이 정확히 $T_i$ 일 때만 문이

www.acmicpc.net

시간초과 못 잡게ㅆ어용~!!!!!!!!!!

예제는 다 돌아가긴 하는데용

시간초과 다른 분들 코드길이 보니까 저 여기서 4줄은 더 줄여야하나본데

저 for문이 문제인 거 같긴 한데

어케 줄여야할지 모르겠네용,,,

구글링 해도 다른 분들 코드도 안 나오고,, ಥ_ಥ


import sys
input = sys.stdin.readline

n = int(input())

t = []
c = []

for i in range(n):
    q, w, e = map(int, input().split())
    t.append(w)
    c.append(e)

sum = []
r = 0
for i in t:
    cnt = 0
    for j in range(i, i + n - r):
        if j in t:
            cnt += c[t.index(j)]
    r += 1
    sum.append(cnt)

print(max(sum))

시작지점이 상관없다는게 포인트인데

1
0 3 4

얘로 치면

-3 지점에서 출발하면 4 얻을 수 있고

5
0 2 4
1 6 1
2 4 4
3 8 10
4 5 2

얘는 -5에서 출발하면 1번째랑 3번째 은행에서 총 11 얻는 거

-2에서 출발해서 총 6 얻는 거

요런 느낌

으로 저는 이해하고 풀었는데용

그럼 모해용~~~!!!

시간초과가 안 잡히네요

담에 다시 도전하겠슴미당~~

레죤두

짤 찾다가

셤기간 내모습 발견함 크크

멘토링 멈춰~~

댓글