Aleksey20052801
16.03.2023 11:30

Вася — любитель велопрогулок. Недавно он приобрел очень крутой велосипед. И чтобы безбоязненно оставлять его на улице, он решил разработать супербезопасный замок с возможностью установки пароля. С точки зрения Васи основу безопасного замка должен составлять циферблат, состоящий из N чисел от 0 до N−1, расположенных в произвольном порядке, по которому в двух направлениях (по часовой и против часовой стрелки) может перемещаться указатель. Для ввода пароля нужно последовательно перемещать указатель на нужные числа и удерживать его на каждом числе в течение пяти секунд. Изначально указатель расположен на цифре 0.

Пример циферблата приведен на рисунке ниже.

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

Входные данные
Первая строка содержит два целых числа N и M (1≤N≤105,1≤M≤105) — количество чисел на циферблате замка и количество чисел в пароле Васи.

Вторая строка содержит N целых чисел Xi (0≤Xi≤N−1) — числа циферблата в порядке следования по часовой стрелке.

Третья строка содержит M целых чисел Ai (0≤Ai≤N−1) — пароль Васи.

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

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
lunagatina04
01.09.2020 08:29
Задание №1
60 Мбайт * 8 = 480 Мбит - размер файла в мегабитах
480 Мбит * 1024 = 491520 Кбит - размер файла в килобитах
491520 / 2 = 245760 Кбит - половина файла
245760 Кбит / 256 = 960 секунд - время передачи первой половины файла
245760 Кбит / (256 / 2) = 245760 Кбит / 128 = 1920 секунд - время передачи втораой половины файла
960 с + 1920 с = 2880 секунд - общее время передачи
В одной минуте 60 секунд:
2880 / 60 = 48 минут - передан весь файл

Задание №2
Переведем килобайты в биты: N = 3750кбайт = 30720000бит
Вычислим скорость передачи информации: V = 30720000/120
V = 256000 бит/c
0,0(0 оценок)
Ответ:
23redalice11
03.02.2020 10:21
Ну, в общем, лови решение.

{ FreePascal 2.6.4}
program test;
uses
    crt;
var
    a, b, c, d  : integer;
    f : longint;

procedure swap (var x : integer; var y : integer);
var z : integer;
begin
    z := x;
    x := y;
    y := z;
end;

function nod (m, n : integer) : integer;
begin
    while m<>n do begin
        if m>n
        then
            m:=m-n
        else
            n:=n-m;
    end;
    nod := m;
end;

function max (a,b : integer) : integer;
begin
    if a>b
    then max := a
    else max := b;
end;

function min (x, y, z : integer) : integer;
var m : integer;
begin
    m := x;
    if y<m then m := y;
    if z<m then m := z;
    min := m;
end;

function mypow (a, b : integer) : integer;
var e, f : integer;
begin
    f := 1;
    for e:=1 to b do f := f*a;
    mypow := f;
end;

function fact(a : integer) : longint;
var
    i : integer;
    res : longint;
begin
    res := 1;
    for i := 1 to a do res := res*i;
    fact := res;
end;

begin
    clrscr;
    writeln('Test of function SWAP');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    swap(a, b);
    writeln('A=', a, ', B=', b);
    writeln;

    writeln('Test of function NOD');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := nod(a, b);
    writeln('NOD(', a, ',', b, ')=', c);
    writeln;

    writeln('Test of function MAX');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := max(a, b);
    writeln('MAX(', a, ',', b, ')=', c);
    writeln;

    writeln('Test of function MIN');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    write('Input C: ');
    readln(c);
    d := min(a, b, c);
    writeln('MIN(', a, ',', b, ',', c, ')=', d);
    writeln;

    writeln('Test of function POW');
    write('Input A: ');
    readln(a);
    write('Input B: ');
    readln(b);
    c := mypow(a, b);
    writeln('POW(', a, ',', b, ')=', c);
    writeln;

    writeln ('Test of function FACT (not large than 12!)');
    write('Input A: ');
    readln(a);
    f := fact(a);
    writeln(a, '!=', f);
    writeln;
    readkey;

end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота