This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define int long long
using namespace std;
vector<int> changes;
main() {
    int h, n; cin >> h >> n;
    for (int i = 0; i < n*2; i++){
        if (i >= n){
            changes.push_back(changes[i-n]);
        } else {
            int g; cin >> g;
            changes.push_back(g);
        }
    }
    int s = 0;
    for (int i = 0; i < n*2; i++){
        s += changes[i];
        s = max(s, 0ll);
        if (s >= h){
            cout << i/n << ' ' << i%n << '\n';
            return 0;
        }
    }
    s = accumulate(changes.begin(), changes.end(), 0ll)/2;
    if (s <= 0) {
        cout << "-1 -1\n";
        return 0;
    } else {
        pair<int, int> d = {1e17, 1e17};
        int t = 0;
        for (int i = 0; i < n; i++){
            t += changes[i]; t = max(t, 0ll);
            if (s > 0){
                d = min(d, {((h-t)%s==0?(h-t)/s:(h-t)/s+1), i});
            }
        }
        cout << d.first << ' ' << d.second << '\n';
    }
}
Compilation message (stderr)
snail.cpp:5:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    5 | main() {
      |      ^| # | 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... |