수입 시스템
입력 = sys.stdin.readline
N = 정수(입력())
알 = 목록(지도(정수입력().분할()))
작전 = 목록(지도(정수입력().분할()))
글로벌 _max
글로벌 _min
_최대, _분 = –1e9, 1e9
데프 역추적(n, 합계): # 여기서 n은 숫자 위치입니다.
글로벌 _max
글로벌 _min
만약에 N == N:
만약에 총 > _최대:
_최대 = 총
만약에 총 < _분:
_분 = 총
반품
~을 위한 나 ~에 범위(렌(작전)):
만약에 작전(i) > 0:
작전(i) –= 1
만약에 나 == 0:
역추적(n+1총+도착(n))
엘리프 나 == 1:
역추적(n+1총–도착(n))
엘리프 나 == 2:
역추적(n+1총*도착(n))
엘리프 나 == 삼:
만약에 복근(총) < 도착(n):
역추적(n+1, 0)
또 다른:
역추적(n+1, 정수(총/도착(n)))
작전(i) += 1
역추적(1아르(0))
인쇄(_최대)
인쇄(_분)
|
CS |
백트래킹의 개념만 알면 문제 자체는 쉽게 풀렸는데 나눗셈에 약간의 요령이 있다.
별 생각없이 몫만 다룬다고 해서 // 써보고 실패를 맛보았음..