提出 #40539623
ソースコード 拡げる
use proconio::{input, marker::Usize1};
fn main() {
input! {
n: usize,
mut c: [usize; n],
q: usize,
}
let mut count = 0_usize;
let mut all_count = 0_usize;
let mut all_min = c.iter().copied().min().unwrap();
let mut odd_count = 0_usize;
let mut odd_min = c
.iter()
.copied()
.enumerate()
.filter(|(i, _)| i % 2 == 0)
.map(|(_, c_i)| c_i)
.min()
.unwrap();
for _ in 0..q {
input! {
t: usize,
}
match t {
1 => {
input! {
x: Usize1,
a: usize,
}
let a_sum = a + all_count + if x % 2 == 0 { odd_count } else { 0 };
if c[x] >= a_sum {
c[x] -= a;
all_min = all_min.min(c[x]);
if x % 2 == 0 {
odd_min = odd_min.min(c[x]);
}
count += a;
}
}
2 => {
input! {
a: usize,
}
if a <= odd_min {
odd_min -= a;
all_min = all_min.min(odd_min);
odd_count += a;
count += a * ((n + 1) / 2);
}
}
3 => {
input! {
a: usize,
}
if a <= all_min {
all_min -= a;
odd_min -= a;
all_count += a;
count += a * n;
}
}
_ => unreachable!(),
}
}
println!("{}", count);
}
提出情報
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 6 / 6 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | example_01.txt, example_02.txt, example_03.txt |
| All | example_01.txt, example_02.txt, example_03.txt, subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_01_18.txt, subtask_01_19.txt, subtask_01_20.txt, subtask_01_21.txt, subtask_01_22.txt, subtask_01_23.txt, subtask_01_24.txt, subtask_01_25.txt, subtask_01_26.txt, subtask_01_27.txt, subtask_01_28.txt, subtask_01_29.txt, subtask_01_30.txt, subtask_01_31.txt, subtask_01_32.txt, subtask_01_33.txt, subtask_01_34.txt, subtask_01_35.txt, subtask_01_36.txt, subtask_01_37.txt, subtask_01_38.txt, subtask_01_39.txt, subtask_01_40.txt, subtask_01_41.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| example_01.txt | AC | 8 ms | 1964 KiB |
| example_02.txt | AC | 2 ms | 2060 KiB |
| example_03.txt | AC | 1 ms | 2052 KiB |
| subtask_01_01.txt | AC | 1 ms | 2148 KiB |
| subtask_01_02.txt | AC | 2 ms | 2080 KiB |
| subtask_01_03.txt | AC | 37 ms | 7304 KiB |
| subtask_01_04.txt | AC | 41 ms | 7192 KiB |
| subtask_01_05.txt | AC | 36 ms | 7304 KiB |
| subtask_01_06.txt | AC | 40 ms | 7428 KiB |
| subtask_01_07.txt | AC | 39 ms | 7392 KiB |
| subtask_01_08.txt | AC | 36 ms | 6868 KiB |
| subtask_01_09.txt | AC | 35 ms | 7008 KiB |
| subtask_01_10.txt | AC | 41 ms | 7192 KiB |
| subtask_01_11.txt | AC | 39 ms | 7088 KiB |
| subtask_01_12.txt | AC | 40 ms | 7228 KiB |
| subtask_01_13.txt | AC | 39 ms | 7096 KiB |
| subtask_01_14.txt | AC | 39 ms | 7200 KiB |
| subtask_01_15.txt | AC | 42 ms | 7220 KiB |
| subtask_01_16.txt | AC | 36 ms | 7180 KiB |
| subtask_01_17.txt | AC | 37 ms | 7276 KiB |
| subtask_01_18.txt | AC | 38 ms | 7104 KiB |
| subtask_01_19.txt | AC | 37 ms | 7088 KiB |
| subtask_01_20.txt | AC | 37 ms | 7048 KiB |
| subtask_01_21.txt | AC | 42 ms | 7128 KiB |
| subtask_01_22.txt | AC | 38 ms | 7132 KiB |
| subtask_01_23.txt | AC | 37 ms | 7188 KiB |
| subtask_01_24.txt | AC | 37 ms | 7092 KiB |
| subtask_01_25.txt | AC | 38 ms | 7144 KiB |
| subtask_01_26.txt | AC | 37 ms | 7016 KiB |
| subtask_01_27.txt | AC | 40 ms | 7072 KiB |
| subtask_01_28.txt | AC | 38 ms | 7088 KiB |
| subtask_01_29.txt | AC | 37 ms | 7016 KiB |
| subtask_01_30.txt | AC | 34 ms | 7220 KiB |
| subtask_01_31.txt | AC | 39 ms | 7084 KiB |
| subtask_01_32.txt | AC | 39 ms | 7052 KiB |
| subtask_01_33.txt | AC | 39 ms | 7004 KiB |
| subtask_01_34.txt | AC | 36 ms | 7068 KiB |
| subtask_01_35.txt | AC | 38 ms | 7176 KiB |
| subtask_01_36.txt | AC | 39 ms | 7172 KiB |
| subtask_01_37.txt | AC | 37 ms | 7100 KiB |
| subtask_01_38.txt | AC | 39 ms | 7236 KiB |
| subtask_01_39.txt | AC | 41 ms | 7280 KiB |
| subtask_01_40.txt | AC | 39 ms | 7204 KiB |
| subtask_01_41.txt | AC | 41 ms | 7248 KiB |