-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathf039.py
More file actions
31 lines (26 loc) · 1.73 KB
/
f039.py
File metadata and controls
31 lines (26 loc) · 1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"""
f039: Problem B. 大頭菜
你最近突然有個很想要的家具,但是實在沒有多餘的錢可以拿來買家具。
幸運的是,剛好大頭菜商人來賣菜了!
我們可以透過買低賣高的方式賺價差。
如果你在價格是 a 的時候購買一顆大頭菜,然後在價格是 b 的時候賣掉,你就能賺到 b−a 塊錢(聰明的你當然不會讓 a>b)。
已知大頭菜商人會在島上停留最多 N 天(從第 0 天到第 N−1 天),所以我們只能在這段期間能買賣,而且只要你賣了一次大頭菜他就會離開。
擅長預測的你已經知道未來 N 天的大頭菜價格了,大頭菜一次只能買一顆,所以你想知道有沒有辦法在這 N 天內透過買賣一次大頭菜賺到"恰好"能買家具的錢呢?
第一行有一個正整數 N(2≤N<10000) 代表大頭菜商人最多會停留 N 天。
第二行有 N 個數字 ai(0≤i<N) 代表每一天大頭菜的菜價,其中每天的菜價不超過 10000 元。
最後一行有一個正整數 x (0≤x≤10000) 代表家具的價格。輸入只有一個正整數 x(1≤x≤7),代表作業是禮拜 x 公佈的。(1 代表禮拜一、2 代表禮拜二、3 代表禮拜三、4 代表禮拜四、5 代表禮拜五、6 代表禮拜六、7 代表禮拜天)
如果可以恰好賺到 x 元的話,請輸出一行"Yes",以及一行 i,j,代表要在第 i 天買第 j 天賣。(保證不超過一組解)
否則輸出一行"No"
"""
N = int(input())
price = list(map(int, input().split()))
furniture = int(input())
flag = True
for i in range(N):
for j in range(i+1, N):
if price[j] - price[i] == furniture:
print('Yes')
print(i, j)
flag = False
if flag:
print('No')