Имеется числовой ряд, необходимо найти количество элементов ряда, которые равны сумме двух других элементов. Например ряд 1 2 3 4, 1+2=3 и 1+3=4, итого ответ 2.
Первая строка - количество рядов, вторая - количество элементов в ряду. Ответ выводится сразу после ввода каждого ряда и нажатия Enter.
Sample Input
2
4
1 2 3 4
5
3 5 7 9 10
Sample Output
2
1
Мой код проходит проверку по верхним двум примерам, но, видимо, по каким-то другим условиям не проходит. Подскажите, пожалуйста, что не так? Код детский, но моя голова не варит - по логике, по-моему, все как должно быть.
Код:
#include <iostream>
using namespace std;
int main()
{
int cases, counter;
int nums[101], num;
int i, j, k;
cin>>cases;
while(cases--)
{
counter = 0;
//input
cin>>num;
for (i=0; i<num; i++)
{
cin>>nums[i];
}
//processing
for (i=0; i<num; i++)
{
for(j=0; j<num; j++)
{
if (j==i) continue;
for(k=j; k<num; k++)
{
if ((k==j)||(k==i)) continue;
if(nums[i]==nums[j] + nums[k])
counter++;
}
}
}
cout << counter << endl;
}
return 0;
}