Submission #10160794


Source Code Expand

#pragma GCC optimize("Ofast,no-stack-protector")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("fast-math")   
#include <iostream>
#include <complex>
#include <vector>
#include <string>
#include <algorithm>
#include <cstdio>
#include <numeric>
#include <cstring>
#include <ctime>
#include <cstdlib>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <list>
#include <cmath>
#include <bitset>
#include <cassert>
#include <queue>
#include <stack>
#include <deque>
#include <random>

using namespace std;

#define pb push_back
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define Str(x) to_string(x)
#define len(s) (int)s.size()

typedef long long ll;
typedef long double lld;
typedef string str;
typedef unsigned long long ull;

const int maxn = 1e6 + 2;

int dp[maxn][10][2];

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
#ifdef LOCAL
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
    vector <int> s;
    string t;
    cin >> t;
    int g = len(t);
    for (auto it : t) {
        s.pb(it - '0');
    }
    while (len(s) != maxn)
        s.pb(0);
    for (int i = 0; i < maxn; i++) {
        for (int j = 0; j < 10; j++) {
            dp[i][j][0] = dp[i][j][1] = 1e9;
        }
    }

    for (int i = 0; i < 10; i++) {
        if (i >= s[0]) {
            dp[0][i][0] = 2 * i - s[0];
        } else {
            dp[0][i][1] = i  + i + 10 - s[0];
        }
    }
    int ans = 1e9;
    for (int i = 1; i < maxn; i++) {
        for (int j = 0; j < 10; j++) {
            for (int last = 0; last < 10; last++) {
                for (int first = 0; first < 2; first++) {
                    for (int second = 0; second < 2; second++) {
                        int x = j - s[i];
                        if (second) {
                            x--;
                        }
                        if (first)
                            x += 10;
                        if (x >= 0 && x < 10) {
                            dp[i][j][first] = min(dp[i][j][first], dp[i-1][last][second] + j + x);
                        }
                    }
                }
            }
            if (i + 1 >= g) {
                ans = min(ans, dp[i][j][0]);
            }
        }
    }
    cout << ans;
    return 0;
}

Submission Info

Submission Time
Task E - Payment
User dofe
Language C++14 (GCC 5.4.1)
Score 500
Code Size 2550 Byte
Status AC
Exec Time 432 ms
Memory 84372 KiB

Judge Result

Set Name Sample Subtask1
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 41
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, sample_03.txt, sub1_01.txt, sub1_02.txt, sub1_03.txt, sub1_04.txt, sub1_05.txt, sub1_06.txt, sub1_07.txt, sub1_08.txt, sub1_09.txt, sub1_10.txt, sub1_11.txt, sub1_12.txt, sub1_13.txt, sub1_14.txt, sub1_15.txt, sub1_16.txt, sub1_17.txt, sub1_18.txt, sub1_19.txt, sub1_20.txt, sub1_21.txt, sub1_22.txt, sub1_23.txt, sub1_24.txt, sub1_25.txt, sub1_26.txt, sub1_27.txt, sub1_28.txt, sub1_29.txt, sub1_30.txt, sub1_31.txt, sub1_32.txt, sub1_33.txt, sub1_34.txt, sub1_35.txt, sub1_36.txt, sub1_37.txt, sub1_38.txt
Case Name Status Exec Time Memory
sample_01.txt AC 432 ms 82412 KiB
sample_02.txt AC 432 ms 82412 KiB
sample_03.txt AC 432 ms 82412 KiB
sub1_01.txt AC 432 ms 82412 KiB
sub1_02.txt AC 432 ms 82412 KiB
sub1_03.txt AC 432 ms 82412 KiB
sub1_04.txt AC 432 ms 82412 KiB
sub1_05.txt AC 428 ms 84244 KiB
sub1_06.txt AC 427 ms 84244 KiB
sub1_07.txt AC 427 ms 84244 KiB
sub1_08.txt AC 427 ms 84244 KiB
sub1_09.txt AC 427 ms 84244 KiB
sub1_10.txt AC 427 ms 84244 KiB
sub1_11.txt AC 432 ms 82424 KiB
sub1_12.txt AC 430 ms 83216 KiB
sub1_13.txt AC 430 ms 83216 KiB
sub1_14.txt AC 432 ms 82424 KiB
sub1_15.txt AC 431 ms 82540 KiB
sub1_16.txt AC 429 ms 83216 KiB
sub1_17.txt AC 426 ms 84244 KiB
sub1_18.txt AC 426 ms 83216 KiB
sub1_19.txt AC 417 ms 84244 KiB
sub1_20.txt AC 430 ms 83600 KiB
sub1_21.txt AC 431 ms 82820 KiB
sub1_22.txt AC 430 ms 84244 KiB
sub1_23.txt AC 429 ms 82820 KiB
sub1_24.txt AC 429 ms 82820 KiB
sub1_25.txt AC 424 ms 84244 KiB
sub1_26.txt AC 430 ms 82620 KiB
sub1_27.txt AC 424 ms 83472 KiB
sub1_28.txt AC 419 ms 84244 KiB
sub1_29.txt AC 431 ms 82492 KiB
sub1_30.txt AC 428 ms 83472 KiB
sub1_31.txt AC 427 ms 83472 KiB
sub1_32.txt AC 425 ms 84244 KiB
sub1_33.txt AC 428 ms 84116 KiB
sub1_34.txt AC 431 ms 82620 KiB
sub1_35.txt AC 428 ms 84116 KiB
sub1_36.txt AC 429 ms 83472 KiB
sub1_37.txt AC 427 ms 84244 KiB
sub1_38.txt AC 426 ms 84372 KiB