Submission #59511721


Source Code Expand

// Go in my style.
// Not afraid to dark.

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

clock_t sttime;
#define STCLOCK sttime = clock ();
#define TIMENOW fprintf (stderr, "\nNOW TIME COSSEMED: %0.4lf\n", 1.0 * (clock () - sttime) / CLOCKS_PER_SEC);
#define inline __inline__ __attribute__ ((always_inline))

#define ll long long

namespace io {
    int read_pos, read_dt; char read_char;
    inline int read (int &p = read_pos){
        p = 0, read_dt = 1; read_char = getchar ();
        while (! isdigit (read_char)){
            if (read_char == '-')
                read_dt = - 1;
            read_char = getchar ();
        }
        while (isdigit (read_char)){
            p = (p << 1) + (p << 3) + read_char - 48;
            read_char = getchar ();
        }
        return p = p * read_dt;
    }
    int write_sta[65], write_top;
    inline void write (ll x){
        if (x < 0)
            putchar ('-'), x = - x;
        write_top = 0;
        do
            write_sta[write_top ++] = x % 10, x /= 10;
        while (x);
        while (write_top)
            putchar (write_sta[-- write_top] + 48);
    }
}

const int N = 3e5;
int n, L, Rd, x[N + 5], t[N + 5], cntres;
bool l[N + 5], r[N + 5], del[N + 5];
ll ans;

signed main (){
    STCLOCK

    io::read (n), io::read (L); Rd = L << 1;
    for (int i = 1;i <= n;++ i) io::read (x[i]);
    for (int i = 1;i <= n;++ i) io::read (t[i]), ans += t[i] - t[i] % Rd, t[i] %= Rd;
    ans += 1ll * Rd * (n + 1);
    for (int i = 1;i <= n;++ i){
        if (! t[i]) ans -= Rd, del[i] = true;
        else {
            l[i] = x[i] * 2 >= t[i];
            r[i] = Rd - x[i] * 2 >= t[i];
            cntres += (l[i] && r[i] && i < n);
            del[i] = ! l[i] && ! r[i];
        }
    }
    if (r[n]) ans -= Rd;
    int rx = n;
    for (int i = 1, cr = 0;i < n;++ i){
        if (del[i]) continue;
        if (! r[i]){ rx = i; break;}
        if (l[i]) ++ cr;
        else if (cr > 0) -- cr, ans -= Rd, -- cntres;
    }
    for (int i = n - 1, cr = 0;i >= rx;-- i){
        if (del[i]) continue;
        if (! l[i]) break;
        if (r[i]) ++ cr;
        else if (cr > 0) -- cr, ans -= Rd, -- cntres;
    }
    ans -= 1ll * (cntres >> 1) * Rd;
    io::write (ans), putchar ('\n');

    TIMENOW
    return 0;
}

Submission Info

Submission Time
Task D - Shopping
User good88
Language C++ 20 (gcc 12.2)
Score 1600
Code Size 2349 Byte
Status AC
Exec Time 22 ms
Memory 7140 KiB

Judge Result

Set Name Sample Partial All
Score / Max Score 0 / 0 1000 / 1000 600 / 600
Status
AC × 4
AC × 52
AC × 98
Set Name Test Cases
Sample s1.txt, s2.txt, s3.txt, s4.txt
Partial s1.txt, s2.txt, s3.txt, s4.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, sub1_39.txt, sub1_40.txt, sub1_41.txt, sub1_42.txt, sub1_43.txt, sub1_44.txt, sub1_45.txt, sub1_46.txt, sub1_47.txt, sub1_48.txt
All 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, 56.txt, 57.txt, 58.txt, 59.txt, 60.txt, 61.txt, 62.txt, 63.txt, 64.txt, 65.txt, 66.txt, 67.txt, 68.txt, 69.txt, 70.txt, 71.txt, 72.txt, 73.txt, 74.txt, 75.txt, 76.txt, 77.txt, 78.txt, 79.txt, 80.txt, 81.txt, 82.txt, 83.txt, 84.txt, 85.txt, 86.txt, 87.txt, 88.txt, 89.txt, 90.txt, 91.txt, 92.txt, 93.txt, 94.txt, s1.txt, s2.txt, s3.txt, s4.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, sub1_39.txt, sub1_40.txt, sub1_41.txt, sub1_42.txt, sub1_43.txt, sub1_44.txt, sub1_45.txt, sub1_46.txt, sub1_47.txt, sub1_48.txt
Case Name Status Exec Time Memory
49.txt AC 15 ms 6328 KiB
50.txt AC 18 ms 6984 KiB
51.txt AC 3 ms 4140 KiB
52.txt AC 22 ms 7052 KiB
53.txt AC 14 ms 5804 KiB
54.txt AC 21 ms 7120 KiB
55.txt AC 1 ms 3860 KiB
56.txt AC 14 ms 7052 KiB
57.txt AC 12 ms 6484 KiB
58.txt AC 15 ms 7140 KiB
59.txt AC 10 ms 6128 KiB
60.txt AC 15 ms 7108 KiB
61.txt AC 1 ms 3972 KiB
62.txt AC 14 ms 6924 KiB
63.txt AC 18 ms 6784 KiB
64.txt AC 20 ms 7104 KiB
65.txt AC 1 ms 3856 KiB
66.txt AC 20 ms 6988 KiB
67.txt AC 16 ms 6472 KiB
68.txt AC 22 ms 7120 KiB
69.txt AC 14 ms 6056 KiB
70.txt AC 20 ms 6992 KiB
71.txt AC 1 ms 3960 KiB
72.txt AC 17 ms 7052 KiB
73.txt AC 16 ms 6836 KiB
74.txt AC 17 ms 7024 KiB
75.txt AC 1 ms 3956 KiB
76.txt AC 19 ms 6992 KiB
77.txt AC 15 ms 6528 KiB
78.txt AC 18 ms 7108 KiB
79.txt AC 15 ms 6044 KiB
80.txt AC 20 ms 6984 KiB
81.txt AC 2 ms 3888 KiB
82.txt AC 20 ms 7040 KiB
83.txt AC 14 ms 6752 KiB
84.txt AC 15 ms 6920 KiB
85.txt AC 9 ms 5852 KiB
86.txt AC 14 ms 6924 KiB
87.txt AC 14 ms 6888 KiB
88.txt AC 14 ms 6988 KiB
89.txt AC 5 ms 4768 KiB
90.txt AC 14 ms 7052 KiB
91.txt AC 4 ms 4472 KiB
92.txt AC 20 ms 6920 KiB
93.txt AC 11 ms 5416 KiB
94.txt AC 21 ms 7108 KiB
s1.txt AC 1 ms 3848 KiB
s2.txt AC 1 ms 3928 KiB
s3.txt AC 1 ms 3928 KiB
s4.txt AC 1 ms 3796 KiB
sub1_01.txt AC 1 ms 3716 KiB
sub1_02.txt AC 1 ms 3848 KiB
sub1_03.txt AC 1 ms 3912 KiB
sub1_04.txt AC 1 ms 3964 KiB
sub1_05.txt AC 1 ms 3796 KiB
sub1_06.txt AC 1 ms 3948 KiB
sub1_07.txt AC 1 ms 3812 KiB
sub1_08.txt AC 1 ms 3820 KiB
sub1_09.txt AC 1 ms 3840 KiB
sub1_10.txt AC 1 ms 3824 KiB
sub1_11.txt AC 1 ms 3728 KiB
sub1_12.txt AC 1 ms 3944 KiB
sub1_13.txt AC 1 ms 3824 KiB
sub1_14.txt AC 1 ms 3888 KiB
sub1_15.txt AC 1 ms 3820 KiB
sub1_16.txt AC 1 ms 3748 KiB
sub1_17.txt AC 1 ms 3844 KiB
sub1_18.txt AC 1 ms 3824 KiB
sub1_19.txt AC 1 ms 3812 KiB
sub1_20.txt AC 1 ms 3964 KiB
sub1_21.txt AC 1 ms 3876 KiB
sub1_22.txt AC 1 ms 3820 KiB
sub1_23.txt AC 1 ms 3848 KiB
sub1_24.txt AC 1 ms 3756 KiB
sub1_25.txt AC 1 ms 3864 KiB
sub1_26.txt AC 1 ms 3940 KiB
sub1_27.txt AC 1 ms 3856 KiB
sub1_28.txt AC 1 ms 3816 KiB
sub1_29.txt AC 1 ms 3732 KiB
sub1_30.txt AC 1 ms 3948 KiB
sub1_31.txt AC 1 ms 3920 KiB
sub1_32.txt AC 1 ms 3948 KiB
sub1_33.txt AC 1 ms 3952 KiB
sub1_34.txt AC 1 ms 3820 KiB
sub1_35.txt AC 1 ms 3740 KiB
sub1_36.txt AC 1 ms 3824 KiB
sub1_37.txt AC 1 ms 3816 KiB
sub1_38.txt AC 1 ms 3948 KiB
sub1_39.txt AC 1 ms 3836 KiB
sub1_40.txt AC 1 ms 3872 KiB
sub1_41.txt AC 1 ms 3864 KiB
sub1_42.txt AC 1 ms 3892 KiB
sub1_43.txt AC 1 ms 3804 KiB
sub1_44.txt AC 1 ms 3820 KiB
sub1_45.txt AC 1 ms 3808 KiB
sub1_46.txt AC 1 ms 3936 KiB
sub1_47.txt AC 1 ms 3800 KiB
sub1_48.txt AC 1 ms 3756 KiB