Задача A. Прогрессии

Автор:Всесебирская олимпиада 2004
Входной файл: input.txt   Ограничение времени:10 сек
Выходной файл: output.txt   Ограничение памяти:16 Мб

Условие

Жители страны Прогрессляндии слишком буквально поняли лозунг своего великого правителя "Больше прогрессий - хороших и разных" и решили сосчитать, сколько всего прогрессий они могут придумать. К нашему великому счастью, они знают только целочисленные строго возрастающие арифметические прогрессии в диапазоне от 0 до N, причем прогрессия обязательно должна начинаться со священного числа 0 и иметь хотя бы два элемента.

К сожалению, они недостаточно прогрессивны, чтобы решить эту проблему. Помогите им.

Формат входного файла

В первой строке входного файла записано одно число N.

Формат выходного файла

В выходной файл нужно вывести одно число - количество различных целочисленных строго возрастающих конечных арифметических прогрессий, начинающихся с нуля и лежащих в диапазоне от 0 до N, включительно. В прогрессии должно быть не менее двух различных целых чисел. При этом прогрессии, содержащие разное число членов считаются различными.

Ограничения

0 <= N <= 1012

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
3
5

Задача B. Упаковка конфет

Автор:О. Туфанов, А. Кленин
Входной файл: input.txt   Ограничение времени:2 сек
Выходной файл: output.txt   Ограничение памяти:64 Мб

Условие

Кондитерская фабрика изготовила партию конфет N различных сортов. В партию входит ai конфет i-го сорта.

Конфеты упаковываются в коробки двух видов: обычные и ассорти. В каждой из обычных коробок после упаковки должно оказаться ровно M конфет какого-нибудь одного сорта, а в каждой коробке ассорти — ровно N конфет, по одной каждого сорта.

Требуется определить максимально возможное значение M. Например, если изготовлено 15, 19 и 55 конфет трёх разных сортов, то их следует упаковывать в обычные коробки по 4 штуки, после чего останутся конфеты для 3 коробок ассорти.

Рекомендуется рассмотреть частичные решения

Формат входного файла

Входной файл содержит целое число N, за которым следуют N целых чисел ai.

Формат выходного файла

В выходном файле должно содержаться единственное число — максимальное значение M.

Ограничения

2 ≤ N ≤ 105; 1 ≤ ai ≤ 109

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
2 
4 9
5
2
3
7 7 7
7

Задача C. Наименьший общий делитель

Автор:А. Кленин
Входной файл: input.txt   Ограничение времени:1 сек
Выходной файл: output.txt   Ограничение памяти:64 Мб

Условие

По данным двум целым числам требуется найти их наименьший общий делитель, отличный от 1. Если такого делителя нет (т.е. числа взаимно простые), следует вывести 1.

Формат входного файла

Входной файл содержит целые числа A B.

Формат выходного файла

Выходной файл должен содержать единственно целое число — наименьший общий делитель A и B.

Ограничения

1 ≤ A, B ≤ 231 − 1

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
10 20
2
2
13 17
1

Problem D. Group by GCD

Author:A. Klenin
Input file: input.txt   Time limit:1 sec
Output file: output.txt   Memory limit:64 Mb

Statement

Given N positive integers, divide them in two disjoint non-empty groups in such a way that the greatest common divisor of each group is greater than 1.

Input file format

Input file contains integer N, followed by N integers a1 a2… aN.

Output file format

Output file must contain numbers belonging to the first group, followed by 0 and then by numbers belonging to the second group. If there is no solution, output a single number 1. If there is more than one solution, output any of them.

Constraints

2 ≤ N ≤ 1000, 2 ≤ ai ≤ 108

Sample tests

No. Input file (input.txt) Output file (output.txt)
1
2
3 5
3 0 5
2
4
2 2 6 8
2 6 2 0 8
3
3
3 4 5
-1

Задача E. Перестановки с НОД

Автор:Рекомендации
Входной файл: input.txt   Ограничение времени:2 сек
Выходной файл: output.txt   Ограничение памяти:64 Мб

Условие

Задано множество из n различных натуральных чисел. Перестановку элементов этого множества назовем k-перестановкой, если для любых двух соседних элементов этой перестановки их наибольший общий делитель не менее k. Например, если задано множество элементов S = {6, 3, 9, 8}, то перестановка {8, 6, 3, 9} является 2-перестановкой, а перестановка {6, 8, 3, 9} — нет.

Перестановка {p1, p2, …, pn} будет лексикографически меньше перестановки {q1, q2, …, qn}, если существует такое натуральное число i (1 ≤ i ≤ n), для которого pj = qj при j < i и pi < qi.

В качестве примера упорядочим все k-перестановки заданного выше множества в лексикографическом порядке. Например, существует ровно четыре 2-перестановки множества S: {3, 9, 6, 8}, {8, 6, 3, 9}, {8, 6, 9, 3} и {9, 3, 6, 8}. Соответственно, первой 2-перестановкой в лексикографическом порядке является множество {3, 9, 6, 8}, а четвертой — множество {9, 3, 6, 8}.

Примечание

Решения, работающие только для n ≤ 10, будут оцениваться из 50 баллов.

Формат входного файла

Входной файла содержит целые числа числа — n m k, за которыми следуют n различных натуральных чисел si.

Формат выходного файла

Выходной файл должен содержать m-ую k-перестановку заданного множества или 1, если такой нет.

Ограничения

1 ≤ n ≤ 16

1 ≤ m, k, si ≤ 109

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
4 1 2
6 8 3 9
3 9 6 8
2
4 4 2
6 8 3 9
9 3 6 8
3
4 5 2
6 8 3 9
-1

Задача F. Расстановка ферзей

Автор:фольклор
Входной файл: input.txt   Ограничение времени:3 сек
Выходной файл: output.txt   Ограничение памяти:256 Мб

Условие

Требуется расставить N ферзей на шахматной доске размером N × N

Формат входного файла

Во входном файле находится единственное число — N

Формат выходного файла

В выходной файл выведите единственное N чисел — для каждой колонки номер ряда, в который необходимо поставить ферзя.

Ограничения

4 ≤ N ≤ 100

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
4
2 4 1 3

Задача G. Вектор

Автор:И. Бураго
Входной файл: input.txt   Ограничение времени:2 сек
Выходной файл: output.txt   Ограничение памяти:64 Мб

Условие

Дан целочисленный вектор P1, P2, …, PN. Над любым вектором, состоящим из двух и более элементов, определим операцию сжатия, состоящую в замене произвольной пары соседних элементов на их сумму. Например, вектор 1 2 3 в результате сжатия может превратиться в вектор 3 3 либо 1 5.

Требуется путем последовательного применения операции сжатия получить из исходного вектора вектор максимально возможной длины, все элементы которого не меньше A и не больше B.

Формат входного файла

Входной файл содержит тройку чисел N A B, за которой следует N чисел P1, P2, …, PN.

Формат выходного файла

Выходной файл должен содержать длину результирующего вектора, за которой следуют его элементы. Если решений не существует, вывести единственное число 0. Если решений несколько, вывести любое из них.

Ограничения

Все числа во входном файле целые.

1 ≤ N ≤ 1000, 0 ≤ A, B, pi ≤ 106.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
7 3 6
3 1 1 1 2 2 2
3
5 3 4
2
7 3 3
3 1 1 1 2 2 2
0
3
6 20 50
29 5 19 37 43 5
4
29 24 37 48

Problem H. Evacuation Plan

Author:ACM ICPC NEERC 2010 Jury
Input file: evacuation.in   Time limit:3 sec
Output file: evacuation.out   Memory limit:256 Mb

Statement

Flatland government is building a new highway that will be used to transport weapons from its main weapon plant to the frontline in order to support the undergoing military operation against its neighbor country Edgeland. Highway is a straight line and there are n construction teams working at some points on it.

During last days the threat of a nuclear attack from Edgeland has significantly increased. Therefore the construction office has decided to develop an evacuation plan for the construction teams in case of a nuclear attack. There are m shelters located near the constructed highway. This evacuation plan must assign each team to a shelter that it should use in case of an attack.

Each shelter entrance must be securely locked from the inside to prevent any damage to the shelter itself. So, for each shelter there must be some team that goes to this shelter in case of an attack. The office must also supply fuel to each team, so that it can drive to its assigned shelter in case of an attack. The amount of fuel that is needed is proportional to the distance from the team's location to the assigned shelter. To minimize evacuation costs, the office would like to create a plan that minimizes the total fuel needed.

Your task is to help them develop such a plan.

Input file format

The first line of the input file contains n — the number of construction teams (1 ≤ n ≤ 4000). The second line contains n integer numbers — the locations of the teams. Each team's location is a positive integer not exceeding 109, all team locations are different.

The third line of the input file contains m — the number of shelters (1 ≤ m ≤ n). The fourth line contains m integer numbers — the locations of the shelters. Each shelter's location is a positive integer not exceeding 109, all shelter locations are different.

The amount of fuel that needs to be supplied to a team at location x that goes to a shelter at location y is equal to |x − y|.

Output file format

The first line of the output file must contain z — the total amount of fuel needed. The second line must contain n integer numbers: for each team output the number of the shelter that it should be assigned to. Shelters are numbered from 1 to m in the order they are listed in the input file.

Sample tests

No. Input file (evacuation.in) Output file (evacuation.out)
1
3
1 2 3
2
2 10
8
1 1 2

0.063s 0.004s 21