Skip to content

Commit

Permalink
Homework-2: task 5 has been added
Browse files Browse the repository at this point in the history
  • Loading branch information
dtr200 committed Jun 23, 2021
1 parent 8328c6c commit c29c0dd
Show file tree
Hide file tree
Showing 2 changed files with 118 additions and 1 deletion.
61 changes: 61 additions & 0 deletions homework-lecture-2/competition.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
function getPlace(list){
let [ , values ] = list;
values = values.split(' ')
.map(num => Number(num));

let maxPos = null;
let maxNum = 0;
let maxs = [];

// Ищу максимальную дальность

for(let i = 0; i < values.length; i++){
if(values[i] > maxNum){
maxPos = i;
maxNum = values[i];
}
}

// Ищу индексы всех максимальных одинаковых бросков

for(let i = maxPos; i < values.length; i++){
if(values[i] === maxNum)
maxs.push(i);
}

let distance = 0;

/* Иду по массиву индексов максимальных бросков, ставлю их
в массив values и проверяю на заданные условия и ищу
дистанцию броска Васи */

for(let i = 0; i < maxs.length; i++){
const current = maxs[i] + 1; // возможный Василий
const next = maxs[i] + 2 // Следующий после него

if((values[current] % 10 === 5 ) &&
values[next] < values[current])
distance = values[current];
}

/* Ищу позицию. Если дистанция есть, тогда сравниваю
поочередно полученную дистанцию с каждой из массива */

let position = 0;

const calcPosition = () => {
for(let i = 0; i < values.length; i++){
if(values[i] > distance)
position++;
}
}

if(distance){
position++;
calcPosition();
}

return `${position}`;
}

getPlace(['7', '45 5 40']);
58 changes: 57 additions & 1 deletion homework-lecture-2/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,4 +123,60 @@ CONSTANT
#### Вывод
2

### Решение: biggest-neighbor.js
### Решение: biggest-neighbor.js

# E. Чемпионат по метанию коровьих лепешек

Ежегодный турнир "Веселый коровяк" - по метанию коровьих лепешек на дальность - прошел 8-9 июля в селе Крылово Осинского района Пермского края.

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

Соревнования по метанию коровьих лепешек проводятся в Пермском крае с 2009 года.

К сожалению, после чемпионата потерялись записи с фамилиями участников, остались только записи о длине броска в том порядке, в котором их совершали участники.

Трактиорист Василий помнит три факта:

1) Число метров, на которое он метнул лепешку, оканчивалось на 5

2) Один из победителей чемпионата метал лепешку до Василия

3) Участник, метавший лепешку сразу после Василия, метнул ее на меньшее количество метров

Будем считать, что участник соревнования занял k-е место, если ровно (k − 1) участников чемпионата метнули лепешку строго дальше, чем он.

Какое максимально высокое место мог занять Василий?

### Формат ввода
Первая строка входного файла содержит целое число n — количество участников чемпионата по метанию лепешек (3 ≤ n ≤ 10<sup>5</sup>).

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

### Формат вывода
Выведите самое высокое место, которое мог занять тракторист Василий. Если не существует ни одного участника чемпионата, который удовлетворяет, описанным выше условиям, выведите число 0.

### Пример 1
#### Ввод
7
10 20 15 10 30 5 1

#### Вывод
6

### Пример 2
#### Ввод
3
15 15 10

#### Вывод
1

### Пример 3
#### Ввод
3
10 15 20

#### Вывод
0

### Неполное решение: competition.js (8 тестов)

0 comments on commit c29c0dd

Please sign in to comment.