Zmienną P zwiększasz ciągle o jej wielokrotność, a masz ją zadeklarowaną jako integer, jednak ona przyjmuje wartość max. 10^9, a to jest granica 32 bitowego integera, jeżeli Ty ją zwiększasz, a nie jest ona longiem to Twoje liczby się pokrzaczą
W najgorszym wypadku będziesz miał podadany test:
1
10000 863999999
1
1
1
.
.
.
itd, same jedynki
a więc Twój wynik osiagnie : 864000000, gdzie liczba ciastek w pudełku = 863999999 czyli o jeden mniej, więc Twój algorytm zrobi p += p2 czyli 863999999 + 863999999, a więc 1727999998 i tutaj program isę wydupi, ponieważ ta liczba przekracza 10^9, a więc 32-bitowy integer jest zbyt mały, aby pomieścić tę liczbę, potrzebujesz tutaj longa