P9569 题解

· · 题解

题意:计算气球的运动高度 h,输出在 T 秒时,位于最高点的气球的编号,如果有多个气球位于最高点,则输出最小的编号。

众所周知,物体运动距离的公式为 s=vt。依据题意,因为气球一开始都被栓在地上不动,在 t_i 秒被剪断栓绳,即在 t_i 秒开始运动,所以气球运动时间为 T-t_i,公式变为 h=v_i(T-t_i),代入计算即可。

AC CODE

#include<bits/stdc++.h>

using namespace std;

const int N = 1e5 + 9;

int n, T, v, t[N], maxn = 0, num[N], cnt = 0;

int main() {
    cin >> n >> T;
    for (int i = 1; i <= n; ++i) {
        cin >> v >> t[i];
        t[i] = T - t[i];
        t[i] = t[i] * v;
        if (t[i] > maxn) {
            maxn = t[i];
        }
    }
    for (int i = 1; i <= n; ++i) {
        if (t[i] == maxn) {
            num[++cnt] = i;
        }
    }
    sort(num, num + cnt);
    cout << num[1];
    return 0;
}