/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 1ms 540.0 KiB
#3 Accepted 1ms 540.0 KiB
#4 Accepted 1ms 332.0 KiB
#5 Accepted 1ms 540.0 KiB
#6 Accepted 1ms 540.0 KiB
#7 Accepted 1ms 540.0 KiB
#8 Accepted 1ms 540.0 KiB
#9 Accepted 1ms 328.0 KiB
#10 Accepted 1ms 540.0 KiB
#11 Accepted 2ms 588.0 KiB
#12 Accepted 2ms 772.0 KiB
#13 Accepted 1ms 540.0 KiB
#14 Accepted 1ms 332.0 KiB
#15 Accepted 90ms 2.719 MiB
#16 Accepted 127ms 2.645 MiB
#17 Accepted 91ms 2.781 MiB
#18 Accepted 88ms 3.062 MiB
#19 Accepted 90ms 2.609 MiB
#20 Accepted 89ms 2.77 MiB
#21 Accepted 91ms 2.691 MiB
#22 Accepted 87ms 3.184 MiB
#23 Accepted 88ms 3.34 MiB

Code

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

void solve()
{
    int n, m;
    cin >> n;
    vector<int> v(n);
    for (int i = 0; i < n; i++)
    {
        cin >> v[i];
    }
    vector<int>jump(n, 0), end_pos(n, 0), to(n, 0);
    for (int i = n - 1; i >= 0; i--) {
        int next = i + v[i];
        if(next >= n)
        {
            jump[i] = 1;
            end_pos[i] = i;
            to[i] = i + v[i];
        }
        else{
            jump[i] = 1 + jump[next];
            to[i] = to[next];
            end_pos[i] = end_pos[next];
        }
    }

    for(int i = 0; i < n; i++)
    {
        cout << end_pos[i] + 1 << " " << jump[i] << endl;
    }
}

int32_t main()
{
    ios::sync_with_stdio(false);cin.tie(0),cin.tie(0);
    int t = 1;
    // cin >> t;
    for (int tc = 1; tc <= t; ++tc)
    {
        // cout << "Case " << tc << ": ";
        solve();
    }
}

Information

Submit By
Type
Submission
Problem
P1171 Frogs and Lily Pads
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-26 17:31:54
Judged At
2025-02-26 17:31:54
Judged By
Score
100
Total Time
127ms
Peak Memory
3.34 MiB