/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 2ms 540.0 KiB
#3 Accepted 39ms 568.0 KiB
#4 Time Exceeded ≥2074ms ≥540.0 KiB
#5 Time Exceeded ≥2081ms ≥584.0 KiB
#6 Time Exceeded ≥2092ms ≥844.0 KiB
#7 Time Exceeded ≥2089ms ≥1.52 MiB
#8 Time Exceeded ≥2088ms ≥1.91 MiB
#9 Time Exceeded ≥2091ms ≥1.684 MiB
#10 Time Exceeded ≥2094ms ≥1.867 MiB
#11 Time Exceeded ≥2089ms ≥1.688 MiB
#12 Time Exceeded ≥2095ms ≥1.574 MiB
#13 Time Exceeded ≥2060ms ≥1.52 MiB
#14 Time Exceeded ≥2041ms ≥2.805 MiB
#15 Time Exceeded ≥2090ms ≥640.0 KiB
#16 Time Exceeded ≥2083ms ≥796.0 KiB
#17 Time Exceeded ≥2090ms ≥800.0 KiB
#18 Time Exceeded ≥2094ms ≥796.0 KiB
#19 Time Exceeded ≥2095ms ≥588.0 KiB
#20 Time Exceeded ≥2089ms ≥640.0 KiB

Code

#include<bits/stdc++.h>
using namespace std;
#define getbit(n, i) (((n) & (1LL << (i))) != 0) 
#define setbit0(n, i) ((n) & (~(1LL << (i)))) 
#define setbit1(n, i) ((n) | (1LL << (i))) 

#define ll long long
template<typename s, typename t> void smax(s &a, const t &b) {if (a<b) a=b;}
template<typename s, typename t> void smin(s &a, const t &b) {if (a>b) a=b;}
char gap = 32;

#define rng_init mt19937 rng(chrono::steady_clock::now().time_since_epoch().count())
#define rng_seed(x) mt19937 rng(x)
#define fill(x, y) memset(x, y, sizeof(x))
#define srt(v) sort(v.begin(), v.end())
#define rsrt(v) sort(v.rbegin(),v.rend())
#define pb push_back
#define lll __int128_t
ll hashPrime = 1610612741;

const ll INF = 1e18;

void solve(){
    int n, k;
    cin >> n >> k;
    vector<int> v(n);
    for (int i=0; i<n; ++i) {
        cin >> v[i];
    }
    vector<ll> dp(n, INF);
    dp[0] = 0;
    for (int i=0; i<n; ++i) {
        if (i+1 < n) {
            dp[i+1] = min(dp[i+1], dp[i]+k);
        }
        for (int j=i+1; j<n; j++) {
            ll cost = v[i] / gcd(v[i], v[j]);
            dp[j] = min(dp[j], dp[i] + cost);
        }
    }
    cout << dp[n-1] << endl;
}

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t; cin >> t;
    while(t--){
        solve();
    }
}

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 16:38:57
Judged At
2024-10-03 16:38:57
Judged By
Score
15
Total Time
≥2095ms
Peak Memory
≥2.805 MiB