ПОМОГИТЕ с задачей по программированию. Олимпиада п информатике
Одна известная команда впервые за несколько месяцев решила написать тренировку. Но друзья решили, что им чужды старые технологии, поэтому они попросили нейросеть сгенерировать задачу, а потом решить ее (ведь зачем решать задачи самим). Сама задача звучала довольно просто.
Вам даны n строк s1,s2,…,sn, состоящих из цифр от 0до 9. Необходимо посчитать количество пар индексов (i,j) 1≤i<j≤n, таких что строка si+sj является хорошей, где si+sj — это конкатенация строк si и sj. Строка t длины m называется хорошей, если для любого индекса 1<i≤m выполнено неравенство ti−1≤ti.
Сгенерировать задачу нейросеть смогла, а вот решить ее — нет. Но друзья уже очень устали, поэтому решать эту задачу придется вам.
Входные данные
Первая строка содержит одно целое число n (1≤n≤100000) — количество строк.
Каждая из следующих n строк содержит строку si. Гарантируется, что строки si состоят только из цифр от 0 до 9.
Гарантируется, что сумма длин строк не превосходит 100000.
Выходные данные
Выведите количество пар индексов (i,j) 1≤i<j≤n, таких что строка si+sj является хорошей.
Обратите внимание, что ответ в этой задаче может превышать возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#).
Система оценки
Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.
Обозначим за m сумму длин всех строк si. Иными словами, ∣m=i=1∑n∣si∣.
не