24행부터 50행, 51행부터 77행에서 A, B 피자를 한 종류의 피자를 2조각 이상 판매할 때는 반드시 연속된 조각들을 잘라서 판매한다는 규칙을 지켜서 자를 수 있는 모든 경우의 수의 잘린 피자의 크기의 합을 벡터에 넣어준다. 원형배열처럼 동작하도록 만들기 위해 31행의 if(j==m)j=0; 등의 코드가 들어간다. 여기서 주의해야 할 점은 한 피자의 모든 조각의 크기를 합친 값이 손님이 구매하고자 하는 피자 크기 보다 작아서 모든 조각을 판매하는 경우에는 1가지 경우이다. (1번 조각부터 n번 조각 까지 자르든 2번부터 3번 4 번 ,,, n번 1번 조각까지 자르든 똑같은 경우이다) 이를 위해서 40~47행의 코드가 필요하다.
그 후에 하나의 피자에서 구매하고자 하는 피자 크기를 다 채울 수 있는 경우를 처리하기 위해 각각의 벡터에 0을 넣어준다. 오름차순으로 정렬한 뒤 lower_bound와 upper_bound를 사용해서 결괏값을 구해준다. ( 각 함수는 해당 값이 배열에서 처음 등장하는 주소와 해당 값을 초과하는 값이 배열에서 처음 등장하는 주소를 반환하고 이를 이용해서 해당 값이 몇 개 나오는지 알 수 있다) 각 함수의 사용법은 아래 주소에서 확인할 수 있다.