#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    ll H; 
    int N;
    cin >> H >> N;
    vector<ll> P(N);
    for(int i = 0; i < N; i++) 
        cin >> P[i];
    // 1) Ngày 0: tính dồn từng pha, kiểm tra ngay
    ll sum = 0, maxPref = LLONG_MIN;
    for(int i = 0; i < N; i++){
        sum += P[i];
        if(sum >= H){
            cout << 0 << " " << i;
            return 0;
        }
        maxPref = max(maxPref, sum);
    }
    // 2) Nếu mỗi ngày không tiến lên được nữa -> vô hạn
    if(sum <= 0){
        cout << "-1 -1";
        return 0;
    }
    // 3) Tính số ngày cả ngày cần nhảy vọt
    //    d = ceil((H - maxPref) / sum)
    ll need = H - maxPref;
    ll d = (need + sum - 1) / sum;
    // 4) Lần chạy ngày thứ d: từ đầu pha 0
    ll cur = d * sum;
    for(int i = 0; i < N; i++){
        cur += P[i];
        if(cur >= H){
            cout << d << " " << i;
            return 0;
        }
    }
    // logic chắc chắn đã trả về bên trên
    cout << "-1 -1";
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |