안녕하세요. 오늘은 보디빌딩을 할거예요.
https://www.acmicpc.net/problem/27952
루틴을 진행하는 횟수에 제한이 없고 시간에 따라 X값이 변하지도 않으므로 최대한 살을 찌워놓은 다음에 맨 마지막에 상한에 맞춰서 루틴을 진행하면 됩니다.
#include <iostream>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
long long N, X, i, a[505050] = { 0 }, b, sum = 0;
cin >> N >> X;
for (i = 0; i < N; i++) cin >> a[i];
for (i = 0; i < N; i++)
{
cin >> b;
sum += b;
if (sum < a[i])
{
cout << -1;
return 0;
}
}
cout << (sum - a[N - 1]) / X;
}
감사합니다.