Как найти такие 2 числа в последовательности, сумма которых будет кратна m?
Жду предложения алгоритмов / решения
Жду твоего задания на любой площадке фриланса. Заранее спасибо!
Будем полагать, что элементы x[1],..., x[n] введенной последовательности хранятся в памяти с произвольным доступом. После ввода числа M  выполняем вычисление рекуррентной последовательности  y[i+1]=Mod(-M+y[g(y[i])]), где g некоторое легковычислимое отображение множества возможных значений элементов x[1],..., x[n] в множество 1,2,...,n. Далее алгоритмом Флойда определения периода находится коллизия y[i1]= y[i2]=Mod(-M+y[g(y[i2-1])]). Тогда сумма y[i1]+y[g(y[i2-1])] делится на M. Временная сложность  оценивается O(Sqrt(M)) .