int n = arr.Length;
int count = 0;
var vCount = Vector<int>.Count;
var sumVector = new Vector<int>(sum);
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
var ijSum = arr[i] + arr[j];
var ijSumVector = new Vector<int>(ijSum);
var k = j + 1;
for (; k < n - vCount; k += vCount)
{
var kVector = new Vector<int>(arr, k);
var ijkSumVector = kVector + ijSumVector;
var subResult = Vector.Equals(sumVector, ijkSumVector);
if (subResult != Vector<int>.Zero)
{
var sumCount = Vector.Sum(subResult);
count -= sumCount;
}
}
for (; k < n; k++)
count += ijSum + arr[k] == sum ? 1 : 0;
}
}
return count;
}
@vanbukin чекай!
@fvnever вот это
Мне тут не нравится иф
всё будет збс!
Слушай, ну ты прав
быстрее плюсов?
Чуть-чуть недотягивает
почему тут последние так сильно медленнее?
Спроси виндовый шедулер
@EgorBo
Обсуждают сегодня