1. Проґресiя
Максимальна оцінка: 10 балів
Обмеження на час: 0,2 сек.
Обмеження на пам’ять: 4 MБ
Вхідний файл: sequence.in
Вихідний файл: sequence.out
Програма: sequence.*
Арифметичною проґресією називають послідовність, у якій різниця двох послідовних елементів стала.
Завдання
Створiть програму, що з даної множини n натуральних чисел вибере елементи арифметичної проґресiї найбiльшої довжини з додатною рiзницею.
Вхідні дані
Файл мiстить (n + 1) натуральне число, кожне з яких не перевищує 500 000. Перше з них — n, а наступнi — рiзнi n натуральних чисел.
Вихідні дані
Кожен рядок файлу має мiстити у вказаному порядку кiлькiсть членiв шуканої арифметичної проґресiї, її найменший перший член та її рiзницю — по одному варiанту вiдповiдi в кожному рядку в порядку зростання першого члена, а для однакових перших членiв — у порядку зростання рiзницi проґресiї.
Приклади
sequence.in | sequence.out | 4 1 5 6 3 | 3 1 2 |
---|---|
8 1 5 10 3 6 8 18 30 |
3 1 2 3 6 2 3 6 12 |
2. Поверхня куба
Максимальна оцінка: 26 балів
Обмеження на час: 0,15 сек.
Обмеження на пам’ять: 4 MБ
Вхідний файл: cubesurf.in
Вихідний файл: cubesurf.out
Програма: cubesurf.*
Координати вершин куба дорівнюють 0 або d. На поверхні куба розташовано замкнену ламану без самоперетинів, що має n вершин. Координати всіх вершин цієї ламаної — невід'ємні цілі числа.
Завдання
Створити програму для обчислення площі фіґур, на які ламана розбиває поверхню куба.
Вхідні дані
Файл містить у вказаному порядку натуральні числа d, n, де d < 109, n < 105, і послідовність n трійок координат вершин цієї ламаної у порядку обходу ламаної. Для кожної вершини спочатку вказано абсцису x, потім — ординату y, потім — аплікату z.
Вихідні дані
Файл має містити у порядку неспадання подвоєні площі фіґур, на які ламана розбиває поверхню куба.
Приклад
cubesurf.in | cubesurf.out |
---|---|
1000 3 1 0 0 0 1 0 0 0 1 | 3 11999997 |