| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 659585 | beaconmc | Fancy Fence (CEOI20_fancyfence) | Pypy 3 | 50 ms | 19328 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
n = int(input())
h = list(map(int, input().split()))
w = list(map(int, input().split()))
sussies = [list(i) for i in zip(h,w)]
stack = []
def rect(a,b):
return a*(a+1)*b*(b+1)//4
def comb():
if len(stack)>1 and stack[-1][0] == stack[-2][0]:
a = stack.pop()[1]
stack[-1][1] += a
ans = 0
for i in sussies:
if not stack:
stack.append(i)
else:
while stack[-1][0] > i[0]:
if len(stack)==1:
ans += rect(stack[-1][0],stack[-1][1])-rect(i[0],stack[-1][1])
stack[-1][0] = i[0]
else:
sus = max(stack[-2][0], i[0])
ans += rect(stack[-1][0],stack[-1][1])-rect(sus,stack[-1][1])
stack[-1][0] = sus
comb()
stack.append(i)
comb()
while len(stack) != 1:
sus = stack[-2][0]
ans += rect(stack[-1][0],stack[-1][1])-rect(sus,stack[-1][1])
stack[-1][0] = sus
comb()
ans += rect(stack[0][0], stack[0][1])
print(ans)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
