/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 324.0 KiB
#2 Accepted 3ms 324.0 KiB
#3 Accepted 95ms 320.0 KiB
#4 Time Exceeded ≥2081ms ≥556.0 KiB
#5 Time Exceeded ≥2085ms ≥564.0 KiB

Code

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

ll gcd_(ll a, ll b) {
    return b==0? a : gcd_(b, a%b);
}

void solve() {
    ll n,k;
    cin>>n>>k;
    vector<ll> arr(n);

    for (ll i=0; i<n; i++) {
        cin>>arr[i];
    }
    vector<ll> dp(n, LLONG_MAX);

    dp[n-1]=0;

    for (ll i =n-2; i>=0; i--) {
        dp[i] = min(dp[i], k + dp[i + 1]);

        for (ll j = i + 1; j < n; j++) {
            ll cost = arr[i] / gcd_(arr[i], arr[j]);
            dp[i] = min(dp[i], cost + dp[j]);
        }
    }
    cout << dp[0] << endl;
}

int main(){
    int t;
    cin>>t;
    while(t--){
        solve();
    }
return 0;
}

Information

Submit By
Type
Submission
Problem
P1099 Which way to go
Contest
Brain Booster #6
Language
C++17 (G++ 13.2.0)
Submit At
2024-10-03 17:12:26
Judged At
2024-12-17 11:33:08
Judged By
Score
15
Total Time
≥2085ms
Peak Memory
≥564.0 KiB