# PBinfo #3335 – caramele – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Toffeeman vrea să împartă c caramele la p prichindei astfel încât primul să ia k caramele, al doilea k+1 caramele, al treilea k+2 caramele, şi aşa mai departe. De asemenea, Toffeeman vrea să rămână cu cât mai puţine caramele. Aflaţi cu câte caramele rămâne Toffeeman.

Date de intrare
Programul citește de la tastatură numerele c şi p.

Date de ieșire
Programul va afișa pe ecran numărul caramelelor rămase.

Restricții și precizări

1 ≤ c ≤ 1018
1 ≤ p ≤ 109
1 ≤ k ≤ c

Exemplu:
Intrare

23 5
Ieșire

3
Explicație
Cei 5 prichindei au primit 2,3,4,5 respectiv 6 caramele, în total 20 caramele. Au rămas 3 caramele.

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
long long i, c, p, x, k, r;
int main() {
    cin >> c >> p;
    x = c - p * (p - 1) / 2;
    if (x < p)cout << c << "\n";
    else {
        k = x / p;
        r = x - k * p;
        cout << r << "\n";
    } return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/3335)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/3335/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-3335/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
