Форум » Обработка числовых последовательностей » № 6269 » Ответить

№ 6269

NKG70: Здравствуйте. Неоднозначность в условии.....отличаются не более, чем на K. и K – минимальную разницу между номерами элементов ? На вход программы поступает последовательность из N натуральных чисел. Рассматриваются все пары различных элементов последовательности (элементы пары не обязательно должны стоять в последовательности рядом, порядок в паре неважен). Необходимо определить количество пар, для которых разность кратна 100, ровно один из элементов пары делится на 37, а номера элементов в последовательности отличаются не более, чем на K. Входные данные. Даны два входных файла (файл A и файл B), каждый из которых в первой строке содержит число N – количество чисел, во второй строке K – минимальную разницу между номерами элементов (1 ≤ N ≤ 10 000 000, N > K). В каждой из следующих N строк записаны элементы последовательности (все числа неотрицательные, не превышающие 2 000 000). ## var a:=readalllines(27-151a.txt').select(x->x.tointeger); var b:=a.Skip(2).Take(1000).ToArray; (0..999).Cartesian(2).Where(\(i,j)->((b-b[j]) mod 100=0) and (j-i>=300) and ((b mod 37=0) xor (b[j] mod 37=0))).Count.println

Ответов - 1

Поляков: Спасибо, неточность в условии исправлена.



полная версия страницы