1. 程式人生 > 實用技巧 >2021寒假每日一題《找硬幣》

2021寒假每日一題《找硬幣》

找硬幣

題目來源:PAT甲級真題1048
時間限制:1000ms 記憶體限制:64mb

題目描述

伊娃喜歡從整個宇宙中收集硬幣。
有一天,她去了一家宇宙購物中心購物,結賬時可以使用各種硬幣付款。
但是,有一個特殊的付款要求:每張帳單,她只能使用 恰好 兩個硬幣來 準確 的支付消費金額。
給定她擁有的所有硬幣的面額,請你幫她確定對於給定的金額,她是否可以找到兩個硬幣來支付。

輸入格式

第一行包含兩個整數 \(N\)\(M\),分別表示硬幣數量以及需要支付的金額。
第二行包含 \(N\) 個整數,表示每個硬幣的面額。

輸出格式

輸出一行,包含兩個整數 \(V_1\),\(V_2\),表示所選的兩個硬幣的面額,使得 \(V_1 ≤ V_2\)

並且 \(V_1 + V_2 = M\)
如果答案不唯一,則輸出 \(V_1\) 最小的解。
如果無解,則輸出 No Solution

資料範圍

\(1 ≤ N ≤ 10^5\),
\(1 ≤ M ≤ 1000\)

樣例輸入1

8 15
1 2 8 7 2 4 11 15

樣例輸出1

4 11

樣例輸入2

7 14
1 8 7 2 4 11 15

樣例輸出2

No Solution

解題思路

解題程式碼-Java

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        
}