A - Find Takahashi Editorial by kyopro_friends

便利な関数を用いた解法

python の numpy.argmax

この問題で求めるものは一般にArgmaxと呼ばれます。Pythonのライブラリの1つnumpyには、リストやnumpy配列のargmaxを求める関数が存在します。

実装例(Python)

import numpy as np
N=int(input())
H=list(map(int,input().split()))
print(np.argmax(H)+1)

numpy.argmaxは先頭の添字を \(0\) とするので、\(1\) を足して出力します。

C++のmax_element

C++には、vector(配列)などの最大値のイテレータを返すmax_elementという関数が存在します。このイテレータとvectorの先頭までの距離を用いて答えを求めることができます。

#include<bits/stdc++.h>
using namespace std;

int main(){
	int n;
	cin >> n;
	vector<int>a(n);
	for(int i=0;i<n;i++)cin >> a[i];
	cout << max_element(a.begin(),a.end())-a.begin()+1 << endl;
}

posted:
last update: