Submission #16295667
Source Code Expand
#![allow(clippy::many_single_char_names)]
// ngtio {{{
#[allow(dead_code)]
mod ngtio {
use ::std::collections::VecDeque;
pub struct Buffer {
buf: VecDeque<String>,
}
impl Buffer {
pub fn new() -> Self {
Self {
buf: VecDeque::new(),
}
}
fn load(&mut self) {
while self.buf.is_empty() {
let mut s = String::new();
let length = ::std::io::stdin().read_line(&mut s).unwrap();
if length == 0 {
break;
}
self.buf.extend(s.split_whitespace().map(|s| s.to_owned()));
}
}
pub fn string(&mut self) -> String {
self.load();
self.buf
.pop_front()
.unwrap_or_else(|| panic!("入力が終了したのですが。"))
}
pub fn char(&mut self) -> char {
let string = self.string();
let mut chars = string.chars();
let res = chars.next().unwrap();
assert!(
chars.next().is_none(),
"char で受け取りたいのも山々なのですが、さては 2 文字以上ありますね?"
);
res
}
pub fn read<T: ::std::str::FromStr>(&mut self) -> T
where
<T as ::std::str::FromStr>::Err: ::std::fmt::Debug,
{
self.string()
.parse::<T>()
.expect("Failed to parse the input.")
}
pub fn read_vec<T: ::std::str::FromStr>(&mut self, len: usize) -> Vec<T>
where
<T as ::std::str::FromStr>::Err: ::std::fmt::Debug,
{
(0..len).map(|_| self.read::<T>()).collect()
}
}
macro_rules! define_primitive_reader {
($($ty:tt,)*) => {
impl Buffer {
$(
#[inline]
pub fn $ty(&mut self) -> $ty {
self.read::<$ty>()
}
)*
}
}
}
define_primitive_reader! {
u8, u16, u32, u64, usize,
i8, i16, i32, i64, isize,
}
impl Default for Buffer {
fn default() -> Self {
Self::new()
}
}
}
// }}}
fn main() {
let mut buf = ngtio::Buffer::new();
let ans = buf.u32() - std::iter::repeat_with(|| buf.u32()).take(9).sum::<u32>();
println!("{}", ans);
}
Submission Info
| Submission Time | |
|---|---|
| Task | A - レシート |
| User | ngtkana |
| Language | Rust (1.42.0) |
| Score | 100 |
| Code Size | 2569 Byte |
| Status | AC |
| Exec Time | 8 ms |
| Memory | 2100 KiB |
Judge Result
| Set Name | set01 | set02 | set03 | set04 | set05 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 20 / 20 | 20 / 20 | 20 / 20 | 20 / 20 | 20 / 20 | ||||||||||
| Status |
|
|
|
|
|
| Set Name | Test Cases |
|---|---|
| set01 | data1 |
| set02 | data2 |
| set03 | data3 |
| set04 | data4 |
| set05 | data5 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| data1 | AC | 8 ms | 2100 KiB |
| data2 | AC | 2 ms | 2032 KiB |
| data3 | AC | 2 ms | 2052 KiB |
| data4 | AC | 2 ms | 2024 KiB |
| data5 | AC | 2 ms | 2056 KiB |