Problema con un esercizio

Salve,
per allenarmi in vista delle olimpiadi di Informatica ho fatti vari problemi ma in quello “Aggiornamento della macchina virtuale” (vm), non riesco a capire dove sta il mio errore siccome quando lo compilo dal sito mi da 61/100.
Il problema in questione chiede di trovare il numero massimo di aggiornamenti (che per me è la variabile cont) affinché ogni versione del programma (A[i]) sia la versione più alta ma sempre minore o uguale a quella successiva (A[i+1]) e A[N-1] (N sta per quanti programmi ci sono) non potrà essere aggiornata.
Il programma quando si aggiorna aumenta a seconda del valore presente in B[i].
Quindi per fare un breve riassunto delle variabili:

  • L’ intero N rappresenta il numero di programmi nella macchina virtuale.

  • L’ array A contiene le versioni iniziali dei programmi. In particolare, per ogni 0 ≤ iN − 1, Ai indica la versione dell’ i-esimo programma.

  • L’array B indica di quante versioni alla volta si possono aggiornare i programmi.
    In particolare, per ogni 0 ≤ iN − 2, Bi indica quanto aumenta Ai dopo un aggiornamento dell’
    i-esimo programma.

Questo è il link del Probelma:
Aggiornamento della macchina virtuale

Questo è il codice:

#include <vector>
#include <iostream>
using namespace std;

long long aggiorna(int N, vector<int> A, vector<int> B)
{
    int cont = 0, temp = 0;

    for (int i = N - 2; i >= 0; i--)
    {
        if (B[i] == 1)
        {
            cont = cont + (A[i + 1] - A[i]);
            A[i] = A[i + 1];
        }
        else
        {
            temp = A[i + 1] - A[i];
            temp = temp / B[i];
            A[i] += (B[i] * temp);
            cont += temp;
        }
    }
    return cont-N;
}

Il codice che hai condiviso ottiene 0/100, togliendo il - N dal valore che ritorni (penso sia un typo) ottieni 61/100, per ottenere 100 devi dichiarare cont come long long.

Si mi ero dimentica di togliere il -N, siccome non capivo dove era l’errore stavo provando a mettere cose a caso :sweat_smile:.
Comunque grazie per la risposta.