公式

A - 受付窓口の終了時刻 / Closing Time of the Reception Window 解説 by kyopro_friends


初心者の方へ


問題文の指示通り \(S_i\) を求めてもよいですが、「来客 \(i\) の対応終了時刻 \(T_i\) 」を考える方が多くの人にとって自然でしょう。

  • \(T_0 = 0\)
  • \(T_i = \max(T_{i-1}, A_i) + B_i\)

答えが 32bit 整数型に収まらないケースもあるため、C++ などでは 64bit 整数型を用いる必要があることに注意してください。

実装例 (C++)

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

int main(){
  int n;
  cin >> n;
  long long t = 0;
  for(int i=0; i<n; i++){
    long long a, b;
    cin >> a >> b;
    t = max(t, a) + b;
  }
  cout << t << endl;
}

実装例 (Python)

N = int(input())
T = 0
for _ in range(N):
  A, B = map(int, input().split())
  T = max(A, T) + B
print(T)

投稿日時:
最終更新: