链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
题目描述
大家都喜欢吃糖果。
我们现在有N�种互不相同原料,第i�种原料编号为ai��,编号为ai��的原料和编号为aj��的原料可以制造编号为b�的糖果,当且仅当ai+aj=2b,(��+��=2�,(i!=j),,那么((i!=j)(��,��)是b�的一种生产方案。 不同的原料可以制造不同的糖果,相同的糖果可以由不同的原料制造而成。(相同指编号相同,注意原料的编号一定是整数,但糖果的编号可以不是整数) 那么,是否存在某种糖果有至少两种生产方案?
#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
int n;
cin >> n;
int a[n];
for (int i = 0; i < n; i++)
cin >> a[i];
unordered_map<int, int> mp;
bool flag = false;
for (int i = 0; i < n && !flag; i++)
{
for (int j = i + 1; j < n && !flag; j++)
{
int sum = a[i] + a[j];
if (mp.find(sum) != mp.end())
{
flag = true;
break;
}
mp[sum] = i + j;
}
}
if (flag)
{
cout << "YES";
}
else
cout << "NO";
return 0;
}