#4955. 炼金术

炼金术

Description

# 题目描述 炼金术的基本原则是等价交换,即分解的物品总质量等于重新炼成物品的总质量。最近小英雄在练习炼金术,他正在进行一项特殊的练习:将两个物品分解并重新炼成一个新的物品。 在他的面前有n个物品,每个物品都有一个质量ci。他想知道,从这些物品中任选两个进行合成,可以炼成多少个总质量为x的新物品。 ## 输入格式 第一行一个正整数n,表示物品的数量。 第二行n个整数,每个整数代表一个物品的质量ci。 第三行一个整数x,表示想要炼成的新物品的质量。 ## 输出格式 输出一个正整数,表示能够炼成总质量为x的新物品的数量。 # 样例输入/输出 ```input1 7 1 5 9 7 8 3 2 10 ``` ```output1 3 ``` # 样例解释 在7个原有物品中,只有以下组合可以组成总质量为10的新物品: * (1, 9) 组合质量为10 * (2, 8) 组合质量为10 * (3, 7) 组合质量为10 因此,可以炼成总质量为10的新物品的数量为3。 # 数据规模与提示 对于30%的数据:2 ≤ n ≤ 10^3;;1 ≤ x ≤ 100;1 ≤ ci ≤ 100 对于70%的数据:;2 ≤ n ≤ 10^6;1 ≤ x ≤ 100;1 ≤ ci ≤ 100 对于100%的数据:2 ≤ n ≤ 10^6;1 ≤ x ≤ 1000;1 ≤ ci ≤ 1000 时间限制:1000ms. 内存限制:256MB.

Source

月赛 下标计数 思维 双指针