eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Скалярное произведение

Скалярное произведение

Заданы два массива A и B одинаковой длины. Необходимо обработать три вида запросов.

  • * l r x: добавить число x ко всем Ai, где lir.
  • . l r x: добавить число x ко всем Bi, где lir.
  • ? l r: вычислить сумму Al · Bl + ... + Ar · Br.

Массивы индексируются с 1. Изначально оба массива заполнены нулями.

Входные данные

Первая строка содержит два числа n и m (1n, m100000) - длины массивов и количество запросов. Следующие m строк содержат запросы в описанном выше формате. В каждом запросе 1lrn и 1x < 109+ 7.

Выходные данные

Для каждого запроса третьего типа вывести в отдельной строке ответ по модулю 109 + 7.

Лимит времени 2 секунды
Лимит использования памяти 256 MiB
Входные данные #1
5 4
* 1 4 10
. 2 5 8
? 1 3
? 2 5
Выходные данные #1
160
240
Источник 2013 Петрозаводск, MIPT contest, Август 25, Задача K