In this HackerEarth Distribute chocolates problem solution, You have c number of chocolates that you want to distribute between your n students. The intelligence level of the students is not the same, therefore, you decide to distribute the chocolates in such a way that a smarter student gets strictly more chocolates than the ones who are less smarter.

The difference between the chocolates received by any two adjacent students must be exactly one. Formally, if the least intelligent student gets k chocolates, then others must get k + 1, k + 2, k + 3,.... At the same time, your task is to minimize the number of chocolates that are left (if any) after distributing those among students. Determine the minimum number of chocolates left.

HackerEarth Distribute chocolates problem solution

HackerEarth Distribute chocolates problem solution.

#include <bits/stdc++.h>
#define ll long long int
#define pb push_back
#define mp make_pair
#define mod 1000000007
#define pi 3.141592653589793
using namespace std;

int main() {

    int t;
    cin >> t;
    while (t--) {
        ll c, n;
        cin >> c >> n;
        if (n * (n + 1) / 2 > c) {
            cout << c;

        else {
            ll k = (c - n * (n - 1) / 2) / n;
            cout << c - n * k - n * (n - 1) / 2;
        cout << '\n';