답안 #1090130

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1090130 2024-09-17T19:08:55 Z dpsaveslives Snail (NOI18_snail) C++17
0 / 100
1 ms 860 KB
#include <bits/stdc++.h>
#define ll long long
using namespace std;

int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    ll H; int N; cin >> H >> N;
    vector<ll> phases(N);
    vector<ll> pref(N);
    bool neg = false;
    for(int i = 0;i<N;++i){
        cin >> phases[i];
        if(i == 0){
            pref[i] = max(0ll,phases[i]);
            if(phases[i] < 0) neg = true;
        }
        else{
            if(phases[i]+pref[i-1] < 0){
                neg = true;
            }
            pref[i] = max(0ll,phases[i]+pref[i-1]);
        }
    }
    if(neg){
        for(int i = 0;i<N;++i){
            if(pref[i] >= H){
                cout << 0 << " " << i << "\n";
                return 0;
            }
        }
        ll cur = pref[N-1];
        for(int i = 0;i<N;++i){
            cur += phases[i];
            if(cur >= H){
                cout << 1 << " " << i << "\n";
                return 0;
            }
        }
        cout << -1 << " " << -1 << "\n";
        return 0;
    }
    ll ans = -1, p = -1;
    for(int i = 0;i<N;++i){
        ll cur = H-pref[i];
        if(cur <= 0){
            if(ans == -1 || 0 < ans){
                ans = 0;
                p = i;
            }
            continue;
        }
        ll d = cur/pref[N-1];
        if(cur % pref[N-1] != 0){
            ++d;
        }
        if(ans == -1 || d < ans){
            ans = d;
            p = i;
        }
    }
    cout << ans << " " << p << "\n";
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Runtime error 0 ms 348 KB Execution killed with signal 8
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Runtime error 0 ms 348 KB Execution killed with signal 8
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 860 KB Execution killed with signal 8
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 860 KB Execution killed with signal 8
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Runtime error 0 ms 348 KB Execution killed with signal 8
3 Halted 0 ms 0 KB -