Решение задачи "Фишки" с Codeforces

Без пояснения   Просмотров: 5


В кругу сидят n моржей. Все моржи пронумерованы по часовой стрелке: слева от моржа с номером 1 сидит морж с номером 2, слева от моржа с номера 2 сидит морж с номером 3, ..., слева от моржа с номером n сидит морж с номером 1.

У ведущего есть m фишек. Ведущий встает в центр круга и начинает раздавать фишки моржам начиная с моржа с номером 1, двигаясь по часовой стрелке. Морж с номером i получает i фишек. Если ведущий не может выдать текущему моржу положенное количество фишек, то оставшиеся фишки ведущий забирает себе, и процесс заканчивается. По заданным n и m определите, сколько фишек достанется ведущему.

Код

#include<bits/stdc++.h>
using namespace std;
int n,m,j;
int main()
{
	cin>>n>>m;
	while(m>=(j-1)%n+1)
	{
		m-=(j-1)%n+1;
		j++;
	}
	cerr<<j<<' ';
	cout<<m;
	return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться