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 |
|
|
|
| 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 |