Submission #61589296
Source Code Expand
use ac_library::{Additive, LazySegtree, MapMonoid};
use itertools::Itertools;
use proconio::{input, marker::Chars};
use std::collections::{BTreeMap, HashMap};
pub fn main() {
input! {
n: usize,
an: [usize; n]
};
struct Add;
impl MapMonoid for Add {
type M = Additive<usize>;
type F = usize;
fn identity_map() -> Self::F {
0
}
fn mapping(
f: &Self::F,
x: &<Self::M as ac_library::Monoid>::S,
) -> <Self::M as ac_library::Monoid>::S {
f + x
}
fn composition(f: &Self::F, g: &Self::F) -> Self::F {
f + g
}
}
let mut segtree: LazySegtree<Add> = an.clone().into();
for i in 0..n {
let m = segtree.get(i);
segtree.apply_range((i + 1).min(n)..(i + m + 1).min(n), 1);
segtree.set(i, if m < (n - 1 - i) { 0 } else { m - (n - 1 - i) });
}
let mut ans = vec![0; n];
for i in 0..n {
ans[i] = segtree.get(i);
}
println!("{}", ans.iter().join(" "));
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - Coming of Age Celebration |
| User | macaroon |
| Language | Rust (rustc 1.70.0) |
| Score | 400 |
| Code Size | 1108 Byte |
| Status | AC |
| Exec Time | 283 ms |
| Memory | 30348 KiB |
Compile Error
warning: unused import: `marker::Chars`
--> src/main.rs:3:23
|
3 | use proconio::{input, marker::Chars};
| ^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
warning: unused imports: `BTreeMap`, `HashMap`
--> src/main.rs:4:24
|
4 | use std::collections::{BTreeMap, HashMap};
| ^^^^^^^^ ^^^^^^^
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample00.txt, sample01.txt, sample02.txt |
| All | sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample00.txt | AC | 1 ms | 2084 KiB |
| sample01.txt | AC | 1 ms | 1932 KiB |
| sample02.txt | AC | 1 ms | 2000 KiB |
| testcase00.txt | AC | 1 ms | 1972 KiB |
| testcase01.txt | AC | 138 ms | 23452 KiB |
| testcase02.txt | AC | 267 ms | 30348 KiB |
| testcase03.txt | AC | 241 ms | 24976 KiB |
| testcase04.txt | AC | 275 ms | 28968 KiB |
| testcase05.txt | AC | 71 ms | 9612 KiB |
| testcase06.txt | AC | 277 ms | 28976 KiB |
| testcase07.txt | AC | 227 ms | 24256 KiB |
| testcase08.txt | AC | 277 ms | 28892 KiB |
| testcase09.txt | AC | 238 ms | 25108 KiB |
| testcase10.txt | AC | 276 ms | 28968 KiB |
| testcase11.txt | AC | 108 ms | 12752 KiB |
| testcase12.txt | AC | 283 ms | 28972 KiB |
| testcase13.txt | AC | 179 ms | 20156 KiB |
| testcase14.txt | AC | 276 ms | 28968 KiB |
| testcase15.txt | AC | 28 ms | 4804 KiB |
| testcase16.txt | AC | 276 ms | 28960 KiB |
| testcase17.txt | AC | 233 ms | 25020 KiB |
| testcase18.txt | AC | 150 ms | 23068 KiB |
| testcase19.txt | AC | 128 ms | 22256 KiB |