Submission #48976164


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int INF = (1 << 30) - 1;

#ifdef LOCAL
#include <debug_print.hpp>
#define debug(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__)
#else
#define debug(...) (static_cast<void>(0))
#endif

int main(){
    cin.tie(nullptr);
    ios::sync_with_stdio(false);
    cout << fixed << setprecision(20);
    int N;
    cin >> N;
    vector<int> T(N);
    for(int i = 1; i < N; i++) cin >> T[i];

    // dp[j][k] := i 番目までみたとき, 先攻が j 個得ており, 直前は k が得たときのコストの最小値
    // k = 0: 先攻, k = 1: 後攻
    vector dp(N / 2 + 1, vector<int>(2, INF));
    dp[0][0] = 0;
    for(int i = 0; i < N; i++){
        vector nx(N / 2 + 1, vector<int>(2, INF));
        for(int j = 0; j < min(i + 1, N / 2); j++){
            // 切らないとき
            nx[j + 1][0] = min(nx[j + 1][0], dp[j][0]);
            nx[j][1] = min(nx[j][1], dp[j][1]);
            // 切るとき
            nx[j][1] = min(nx[j][1], dp[j][0] + T[i]);
            nx[j + 1][0] = min(nx[j + 1][0], dp[j][1] + T[i]);
        }
        swap(dp, nx);
    }

    int ans = min(dp[N / 2][0], dp[N / 2][1]);
    cout << ans << endl;
    return 0;
}

Submission Info

Submission Time
Task B - お菓子の分割
User Jikky1618
Language C++ 20 (gcc 12.2)
Score 14
Code Size 1280 Byte
Status TLE
Exec Time 1106 ms
Memory 4000 KiB

Judge Result

Set Name set01 set02 set03 set04 set05 set06 set07 set08 set09 set10
Score / Max Score 2 / 2 0 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 2 / 2 0 / 2 0 / 2
Status
AC × 1
TLE × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
AC × 1
TLE × 1
TLE × 1
Set Name Test Cases
set01 data1
set02 data2
set03 data3
set04 data4
set05 data5
set06 data6
set07 data7
set08 data8
set09 data9
set10 data10
Case Name Status Exec Time Memory
data1 AC 360 ms 3820 KiB
data10 TLE 1103 ms 3800 KiB
data11 TLE 1103 ms 3724 KiB
data12 TLE 1103 ms 3812 KiB
data13 TLE 1103 ms 3768 KiB
data14 TLE 1103 ms 3828 KiB
data15 TLE 1106 ms 3720 KiB
data16 TLE 1103 ms 3840 KiB
data17 TLE 1103 ms 3860 KiB
data18 TLE 1103 ms 3716 KiB
data19 TLE 1103 ms 3808 KiB
data2 TLE 1103 ms 3844 KiB
data20 TLE 1103 ms 3716 KiB
data3 AC 1 ms 3516 KiB
data4 AC 1 ms 3512 KiB
data5 AC 1 ms 3512 KiB
data6 AC 1 ms 3440 KiB
data7 AC 364 ms 3736 KiB
data8 AC 931 ms 4000 KiB
data9 TLE 1103 ms 3768 KiB