Bonjour,

Je sais que cet exercice a déjà été corrigé ici même, mais je ne cherche pas la correction, je cherche l'erreur dans mon programme.
Je n'ai jusqu'a maintenant jamais eu de problèmes majeurs dans aucuns des exercices de France IOI mais avec celui ci, je peux pas vraiment tester des valeurs, et je n'ai que 80% de tests réussis.
Voici l'énoncé :

Ce que doit faire votre programme :

nbGrenouilles numérotées de 1 à nbGrenouilles sont placées sur une ligne de départ. À chaque tour, on vous indique le numéro de la seule grenouille qui va sauter lors de ce tour, et la distance qu'elle va parcourir en direction de la ligne d'arrivée.

Écrivez un programme qui détermine laquelle des grenouilles a été strictement en tête de la course au début du plus grand nombre de tours. Notez que comme on s'intéresse à qui est en tête au début de chaque tour, le bond du dernier tour ne sert à rien car même si la grenouille concernée passe en tête, la course est finie (il est purement honorifique selon la tradition algoréenne).
LIMITES DE TEMPS ET DE MEMOIRE (Langage : C++)

Temps : 1s sur une machine à 1Ghz.
Mémoire : 16000 Ko.

CONTRAINTES

1 <= nbGrenouilles <= 100
1 <= nbTours <= 1000
1 <= distanceSauti <= 100
ENTRÉE

La première ligne de l'entrée contient un entier, le nombre de grenouilles nbGrenouilles qui participent à la course. Les grenouilles sont numérotées de 1 à nbGrenouilles.

La deuxième ligne de l'entrée contient le nombre de tours nbTours de la course.

Chacune des nbTours lignes suivantes décrit un tour par deux entiers séparés par un espace. Le premier entier est le numéro de la grenouille qui saute à ce tour, et le deuxième, est la distance parcourue par la grenouille lors de ce saut.
SORTIE

Vous devez afficher un entier sur la sortie : le numéro de la grenouille qui a été strictement en tête au début du plus grand nombre de tours. En cas d'égalité entre plusieurs grenouilles, choisissez celle dont le numéro est le plus petit.
EXEMPLE

entrée :
4
6
2 2
1 2
3 3
4 1
2 2
3 1
sortie :
2




Et voici mon programme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <algorithm>
using namespace std;
 
int main() {
 
    int nbFrog, nbRounds, compteur=0, comparator=0;
    cin >> nbFrog >> nbRounds;
 
    int points[nbFrog];
    int jumps[nbFrog];
 
    for ( int d=0; d<nbFrog; d++){
        points[d]= 0;
        jumps[d]= 0;
    }
    for ( int x=0; x < nbRounds-1; x++ ){
 
        int frog, jump;
        cin >> frog >> jump;
 
        jumps[frog-1] += jump;
 
        for ( int c=0; c < nbFrog; c++ ){
 
            if (jumps[frog-1] > jumps[c]){
 
                compteur ++;
            }
        }
        if ( compteur == nbFrog-1){
            points[frog-1] += 1;
        }
        compteur = 0;
    }
 
    for ( int h=0; h<nbFrog; h++){
        if ( points[h]>comparator){
            comparator = points[h];
        }
 
    }
    int winner = distance(points, find(points, points + nbFrog, comparator));
    cout << winner+1;
 
    /*cout << endl;
     for (int f=0; f<nbFrog; f++){
     cout << points[f] << " ";
     }
     cout << endl;
     for (int g=0; g<nbFrog; g++){
     cout << jumps[g] << " ";
     }*/
}
Voila, merci d'avance, et sachez que n'importe quelle remarque et critique sur le code est bienvenue