题目描述
个整数(可能有重复)与目标 。判断能否选出两个不同位置上的数,使它们的和恰好等于 ——同一个位置的数只能用一次。能输出 yes,不能输出 no。
套路是边扫边查:把数一个个读进 unordered_set,读到一个 ,先查集合里有没有 (有,说明前面某个位置上的数和它配上了),再把 插进去。「查在先、插在后」, 永远不会和自己配对。
输入格式
第一行两个整数 和 (,)。
第二行 个整数 ()。
输出格式
一行:yes 或 no。
样例
输入:
4 10
1 2 7 9
输出:
yes
:位置 1 和位置 4 上的两个数凑出了目标。
数据范围
,,。 已超出 int 的范围,读 要用 long long。小心 的情形:只有一个位置上的 时不能自己配自己。