寻找n个数中最大数最后一次出现的位置,哪里错了?

题目描述
输入n个整数,请你找出这n个数字中最大数最后一次出现的位置。

输入
两行,第一行为一个整数n,表示第二行要输入n个整数。

输出
一行,包含一个整数,表示这n个数中最大数最后一次出现的位置。

样例输入 Copy
5
7 22 4 22 7

样例输出 Copy
4
提示
提示:输入样例中最大数22在位置2和位置4都出现了,输出最后出现的位置4。

程序如下,哪里错了?

img

改成这样。

#include <iostream>
using namespace std;
int main()
{
    int n,x,i=1,max=-1,w=0;
    cin>>n;
    while(i<=n)
    {
        cin>>x;
        if(x>=max)
        {
            max=x;
            w=i;
        }
        i++;
    }
    cout<<w;
}