@Faha1998
Full stack

Перебор массива(js),как?

Вопрос может показать глупым, в некоторых местах может тупым, но надеюсь на вашу доброту), не пинайте сильно))
Пытаюсь решить вот эту задачку codeforces.com/contest/158/problem/A
Думаю ее можно решить перебором массива
var i = prompt("Введите ваши числа(n и k)").split(" ");
var n = i[0];
var k = i[1];
var p = prompt("Введите очки участников").split(" ");
var d = k;
	for(b = p[k--];b <= n; b++){
		for(h = p[k]; h<= n; h++){
			if(b == h){
				d++;
			}
		}
	}
console.log(d);

ввожу данные
4 3
1 1 1 1
k = 3
b = единице под номером 3
h = единице под номером 4
d = 3
ведь цикл должен проверять если b = h, то d++
почему он выводит что d = 7??, ведь ограничение до 4, откуда еще 3 прогона берется?
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
@Faha1998 Автор вопроса
Full stack
var i = prompt("Введите ваши числа(n и k)").split(" ");
var n = i[0];
var k = i[1];
var p = prompt("Введите очки участников").split(" ");
var d = k;
	for(b = p[k- 1];k<p.length; k++){
		var h = p[k];
		if(b == h){
			d++;
		}
	}
console.log(d);

изначально концепт инкремента был неправильный,нужно было увеличивать k, что бы b сдвигалось по массиву,а не само число.
Все заработало
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы