SRM546 Div2 Easy(250) ContestWinner

ContestWinner

#include <vector>
using namespace std;

class ContestWinner{public:
int getWinner( vector <int> events )
{
    const int N = 1000001;

    vector<int> num(N), last(N);
    for ( int i=0; i<(int)events.size(); i++ )
        num[events[i]]++,
        last[events[i]]=i;

    int ans = 0;
    for ( int i=1; i<N; i++ )
        if ( num[i]>num[ans] ||
             num[i]==num[ans] && last[i]<last[ans] )
            ans = i;
    return ans;
}};