Имеется числовой ряд, необходимо найти количество элементов ряда, которые равны сумме двух других элементов. Например ряд 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;
}