Let’s assume the problem statement was wrong, and it should have said ‘more than’.

Problem statement:

Your job is to tell how many candies will each student and the teacher
receive after the splitting is performed.

Editorial:

Handling [M=0] as a special case is one solution.

If M=0, then the algorithm provided in both the problem statement and editorial never terminates; it is undefined what happens after an infinite loop, not a special case.

Actually, the M=0 case here was to be interpreted as a special case, since the teacher can’t divide the candies by any students, since there are 0 students. On this case, the teacher receives all N candies… I’m sad this problem failed on being as trivial as possible due to this sort of complications… About the usage of long long it was really intended

my below code is not working but same code is one user post that is working

what problem, in my code

using System;

namespace SplittingCandies
{

class Program
{

static void Main(string[] args)
{

int t = int.Parse(Console.ReadLine());
for (int i = 0; i < t; i++)
{
string[] tc = Console.ReadLine().Split(' ');
if (ulong.Parse(tc[1]) == 0)
Console.WriteLine(tc[0] + " " + tc[1]);

Why do we need to subtract candies at each stage and find the modulus and quotient at each stage?
Can’t we do it directly and in one step? Divide N by K, the quotient gives the candies each student will receive and the remainder the candies left with the teacher