117862024-11-10 18:36:12AGergoLudak Harcacpp17Elfogadva 100/10012ms1588 KiB
#include <bits/stdc++.h>

using namespace std;
int n;
vector<int> j;
vector<int> whereTo;
int run(int spot, int dice, int step)
{
    step++;
    spot=spot+dice;
    if(spot > n-1)
    {
        return(step);
    }
    else if(whereTo[spot]>n-1)
    {
        return(step);
    }
    else
    {
        return(run(whereTo[spot],dice,step));
    }

}

int main()
{
    cin.tie(0);
    iostream::sync_with_stdio(0);

    cin >> n;
    j = vector<int>(n,0);

    for(int i = 0; i<n ;i++)
    {
        cin >> j[i];

    }
    whereTo = vector<int>(n);

    for(int i = n-1; i >= 0;i--)
    {
        if(j[i] == 0)
        {
            whereTo[i] = i;
        }
        else if(i+j[i] > n-1)
        {
            whereTo[i] = i+j[i];
        }
        else
        {
            whereTo[i] = whereTo[i+j[i]];
        }
    }
    for(int i = 1; i<7; i++)
    {
        cout << run(0,i,0) << " ";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms320 KiB
2Elfogadva1ms320 KiB
subtask225/25
3Elfogadva1ms320 KiB
4Elfogadva1ms320 KiB
5Elfogadva1ms320 KiB
6Elfogadva2ms320 KiB
7Elfogadva8ms1284 KiB
subtask340/40
8Elfogadva1ms320 KiB
9Elfogadva2ms320 KiB
10Elfogadva2ms320 KiB
11Elfogadva3ms580 KiB
12Elfogadva4ms716 KiB
13Elfogadva8ms1080 KiB
14Elfogadva9ms1392 KiB
15Elfogadva12ms1468 KiB
subtask435/35
16Elfogadva3ms568 KiB
17Elfogadva3ms440 KiB
18Elfogadva4ms568 KiB
19Elfogadva6ms824 KiB
20Elfogadva6ms824 KiB
21Elfogadva7ms1080 KiB
22Elfogadva8ms1080 KiB
23Elfogadva8ms1336 KiB
24Elfogadva10ms1396 KiB
25Elfogadva12ms1588 KiB