Google code jam Africa 2010 qualification round A. store creditに挑戦する.
この問題を入力と出力で定義すると,
である.
入力と,それに対する正しい出力の例は以下の通りである.
この問題定義だけだと,一般に正しい出力はないかもしれない,あるいは正しい出力が複数になるかもしれないと心配になる. しかし,正しい出力がちょうど1つになるような入力しか用意しないと注意書きがある. 親切である.
この問題は簡単である. よって,解法の解説は必要ないであろう.
あまりヒントにはならないかもしれないが,以下に関数定義の例とその実行例を示す.
この関数は整数Cと整数のリストPを引数として受け取り,Pの要素の添字と値を表示し,Pの最初と最後の要素を返す関数である.
def hint(C, P):
for i in range(len(P)):
print(i + 1, P[i])
return P[0], P[-1]
C1 = 100
P1 = [5, 75, 25]
hint(C1, P1)
1 5 2 75 3 25
(5, 25)
C2 = 200
P2 = [150, 24, 79, 50, 88, 345, 3]
hint(C2, P2)
1 150 2 24 3 79 4 50 5 88 6 345 7 3
(150, 3)
C3 = 8
P3 = [2, 1, 9 ,4, 4, 56, 90, 3]
hint(C3, P3)
1 2 2 1 3 9 4 4 5 4 6 56 7 90 8 3
(2, 3)