公式

B - 村人の畑 / Villagers' Fields 解説 by MMNMM 印刷ページ


この問題は、それぞれの村人の畑の面積を求め、これまでに見た最大値を持ちながら答えを求めることで解くことができます。

実装例は以下のようになります。

#include <iostream>
using namespace std;

int main() {
    int N;
    cin >> N;

    int ans = 0;
    int max_area = 0;
    for (int i = 0; i < N; ++i) {
        int A, B;
        cin >> A >> B;
        int area = A * B;
        if (max_area < area) { // これまでに見た最大値より大きい畑を持っていたら
            ans = i + 1; // 答えを更新
            max_area = area;
        }
    }

    cout << ans << endl;
    return 0;
}
N = int(input())

ans = 0
max_area = 0
for i in range(N):
    A, B = map(int, input().split())
    area = A * B
    if max_area < area: # これまでに見た最大値より大きい畑を持っていたら
        ans = i + 1 # 答えを更新
        max_area = area

print(ans)

投稿日時:
最終更新: