Иван Петрович взял отпуск продолжительностью n дней. Первый день отпуска выпадает на день недели под номером d (1 — понедельник, 2 — вторник, ..., 7 — воскресенье). Иван Петрович любит ездить отдыхать на Кипр. Но вылеты на Кипр из его родного города есть только по понедельникам, а обратно — только по воскресеньям. Иван Петрович хочет понять, какое максимальное количество недель он сможет провести на Кипре в свой отпуск (день прилёта и день обратного вылета Иван Петрович считает днями, проведёнными на Кипре ему вычислить это. Входные данные
В первой строке входных данных записано целое число n (1 ≤ n ≤ 109) — продолжительность отпуска. Во второй строке записано целое число — d (1 ≤ d ≤ 7) — номер дня недели первого дня отпуска.
Выходные данные
Требуется вывести одно целое число — количество недель, которое Иван Петрович проведёт на Кипре.
Система оценки
Решения, работающие верно при n ≤ 1000, будут оцениваться в
Примеры
Ввод
Вывод
Пояснение
14
1
2
Отпуск продолжается 14 дней и начинается в понедельник. Поэтому Иван Петрович улетит на Кипр в первый день и вернётся в 14-й день, продолжительность пребывания на Кипре составит две недели.
17
3
1
Отпуск начинается в среду. Ближайший понедельник будет 6-м днём отпуска. Ивану Петровичу придётся вернуться в воскресенье, которое будет 12-м днём отпуска. Следующее воскресенье будет 19-м днём отпуска, а продолжительность отпуска только 17 дней. Поэтому на Кипре Иван Петрович проведёт всего лишь одну неделю.
Объяснение:
// Example program
#include <iostream>
#include <string>
int main()
{
int k[30];
for(int i = 0; i < 30; i ++) //заполняем случайными числами
k[i] = rand();
int min_sum = 999999999;
int num1, num2;
for(int i = 0; i < (30 - 1); i ++) //цикл поиска, i меняется от начала
//до предпоследнего элемента, чтобы не выйти
//за пределы при обращении к i + 1 элементу
{
int sum = k[i] + k[i+1];//очередная сумма
if(sum < min_sum) //сравниваем ее с текущим минимумом
{//если она меньше, то
min_sum = sum;//обновляем текущую сумму
num1 = i; num2 = i + 1;//обновляем номер
}
}
//на выходе из цикла в min_sum и num1 и num2 имеем самые минимальные номера
std::cout << "min_sum = " << min_sum << " nomer1 = " << num1 <<" nomer2 = " << num2;
}
Все слова/анаграммы, которые можно составить из слова "сканер"
Из "сканер" можно составить 58 слов из 2,3,4,5 букв.
Слова из 2 букв, составленные из комбинации "сканер" (12 слов):
ан ар ас ер ка кн кр на не нс ре се
Слова из 3 букв, составленные из комбинации "сканер" (22 слова):
акр аре арк аск ера кар кеа кен кер кнр нар нас нес рак рен рнк сак сан сен сер сна сне
Слова из 4 букв, составленные из комбинации "сканер" (13 слов):
акне енка каре керн крае кран крен раек река саек саке сена сера
Слова из 5 букв, составленные из комбинации "сканер" (11 слов):
аксен анкер аскер кенар нарек насек нерка серка серна скарн скена