94852024-02-22 11:15:23AGergoSzigetek (35 pont)cpp17Időlimit túllépés 9/35300ms8040 KiB
#include <bits/stdc++.h>

using namespace std;

int n;
vector<int> price;
vector<int> lowestPrice; // lowest price to get to any island

void bejar(int s,int cost)
{
    if(s == n-1)
    {
        if(lowestPrice[s+1] > cost+ price[s+1])
        {
            lowestPrice[s+1] = cost+ price[s+1];
            bejar(s+1,lowestPrice[s+1]);
        }
    }
    else if(s != n)
    {
        if(lowestPrice[s+1] > cost+ price[s+1])
        {
            lowestPrice[s+1] = cost+ price[s+1];
            bejar(s+1,lowestPrice[s+1]);
        }
        if(lowestPrice[s+2] > cost+ price[s+2])
        {
            lowestPrice[s+2] = cost+ price[s+2];
            bejar(s+2,lowestPrice[s+2]);
        }
    }

}
int main()
{
    cin.tie(0);ios::sync_with_stdio(0);
    cin >> n;
    price.resize(n+1);
    lowestPrice.resize(n+1,INT_MAX);

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

    bejar(1,price[1]);
    cout << lowestPrice[n];
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base9/35
1Elfogadva0/03ms1888 KiB
2Időlimit túllépés0/0300ms6844 KiB
3Elfogadva1/13ms2352 KiB
4Elfogadva1/13ms2376 KiB
5Elfogadva1/13ms2608 KiB
6Elfogadva1/13ms2820 KiB
7Elfogadva1/13ms2868 KiB
8Elfogadva2/28ms2920 KiB
9Elfogadva2/2186ms3112 KiB
10Időlimit túllépés0/2250ms3140 KiB
11Időlimit túllépés0/2256ms3192 KiB
12Időlimit túllépés0/2300ms2320 KiB
13Időlimit túllépés0/2256ms2576 KiB
14Időlimit túllépés0/2264ms3260 KiB
15Időlimit túllépés0/2252ms4044 KiB
16Időlimit túllépés0/2268ms4952 KiB
17Időlimit túllépés0/2261ms6160 KiB
18Időlimit túllépés0/2252ms6640 KiB
19Időlimit túllépés0/2268ms7072 KiB
20Időlimit túllépés0/2264ms7188 KiB
21Időlimit túllépés0/2264ms7956 KiB
22Időlimit túllépés0/2261ms8040 KiB