Submission #6977996
Source Code Expand
#![allow(unused_mut)]
#![allow(non_snake_case)]
#![allow(unused_variables)]
#![allow(unused_imports)]
#![allow(unused_macros)]
#![allow(dead_code)]
// https://qiita.com/tanakh/items/0ba42c7ca36cd29d0ac8
macro_rules! input {
(source = $s:expr, $($r:tt)*) => {
let mut iter = $s.split_whitespace();
let mut next = || { iter.next().unwrap() };
input_inner!{next, $($r)*}
};
($($r:tt)*) => {
let stdin = std::io::stdin();
let mut bytes = std::io::Read::bytes(std::io::BufReader::new(stdin.lock()));
let mut next = move || -> String{
bytes
.by_ref()
.map(|r|r.unwrap() as char)
.skip_while(|c|c.is_whitespace())
.take_while(|c|!c.is_whitespace())
.collect()
};
input_inner!{next, $($r)*}
};
}
macro_rules! input_inner {
($next:expr) => {};
($next:expr, ) => {};
($next:expr, $var:ident : $t:tt $($r:tt)*) => {
let mut $var = read_value!($next, $t);
input_inner!{$next $($r)*}
};
}
macro_rules! read_value {
($next:expr, ( $($t:tt),* )) => {
( $(read_value!($next, $t)),* )
};
($next:expr, [ $t:tt ; $len:expr ]) => {
(0..$len).map(|_| read_value!($next, $t)).collect::<Vec<_>>()
};
($next:expr, chars) => {
read_value!($next, String).chars().collect::<Vec<char>>()
};
($next:expr, usize1) => {
read_value!($next, usize) - 1
};
($next:expr, $t:ty) => {
$next().parse::<$t>().expect("Parse error")
};
}
macro_rules! max {
($x: expr) => ($x);
($x: expr, $($y: expr),+) => {
cmp::max($x, max!($($y),+))
};
}
macro_rules! min {
($x: expr) => ($x);
($x: expr, $($y: expr),+) => {
cmp::min($x, min!($($y),+))
};
}
const MOD: usize = 1_000_000_007;
const MAX: usize = 510_000;
struct BinCoeff {
fac: Vec<usize>,
finv: Vec<usize>,
inv: Vec<usize>,
}
impl BinCoeff {
fn new() -> BinCoeff {
let fac = vec![0; MAX];
let finv = vec![0; MAX];
let inv = vec![0; MAX];
let mut bincoeff = BinCoeff { fac: fac, finv: finv, inv: inv };
bincoeff.com_init();
bincoeff
}
fn com_init(&mut self) {
let fac = &mut self.fac;
let finv = &mut self.finv;
let inv = &mut self.inv;
fac[0] = 1;
fac[1] = 1;
finv[0] = 1;
finv[1] = 1;
inv[1] = 1;
for i in 2..MAX {
fac[i] = fac[i - 1] * i % MOD;
inv[i] = MOD - inv[MOD%i] * (MOD / i) % MOD;
finv[i] = finv[i - 1] * inv[i] % MOD;
}
}
fn bin_coeff(&mut self, n: usize, k: usize) -> usize {
if k > n/2 {
self.bin_coeff(n-k, k)
} else {
self.fac[n] * (self.finv[k] * self.finv[n - k] % MOD) % MOD
}
}
}
// must input n <= m
fn gcd(n: usize, m: usize) -> usize {
if n == 0 {
m
} else {
gcd(m%n, n)
}
}
use std::cmp;
use std::collections::{HashSet, BinaryHeap, VecDeque, HashMap};
use std::iter;
fn main() {
input! {
N: usize,
Y: usize,
}
let max = Y / 1000;
if max < N { return println!("-1 -1 -1") }
let diff = max - N;
for b in 0 .. diff/9+1 {
if (diff - 9*b) % 4 == 0 {
let c = (diff - 9*b) / 4;
if b+c > N { continue }
println!("{} {} {}", b, c, N-b-c);
return
}
}
println!("-1 -1 -1")
}
Submission Info
Submission Time |
|
Task |
C - Otoshidama |
User |
tsucchee |
Language |
Rust (1.15.1) |
Score |
300 |
Code Size |
3676 Byte |
Status |
AC |
Exec Time |
2 ms |
Memory |
4352 KB |
Compile Error
warning: unknown lint: `unused_macros`, #[warn(unknown_lints)] on by default
--> ./Main.rs:5:10
|
5 | #![allow(unused_macros)]
| ^^^^^^^^^^^^^
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
300 / 300 |
Status |
|
|
Set Name |
Test Cases |
Sample |
a01, a02, a03, a04 |
All |
a01, a02, a03, a04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24 |
Case Name |
Status |
Exec Time |
Memory |
a01 |
AC |
2 ms |
4352 KB |
a02 |
AC |
2 ms |
4352 KB |
a03 |
AC |
2 ms |
4352 KB |
a04 |
AC |
2 ms |
4352 KB |
b05 |
AC |
2 ms |
4352 KB |
b06 |
AC |
2 ms |
4352 KB |
b07 |
AC |
2 ms |
4352 KB |
b08 |
AC |
2 ms |
4352 KB |
b09 |
AC |
2 ms |
4352 KB |
b10 |
AC |
2 ms |
4352 KB |
b11 |
AC |
2 ms |
4352 KB |
b12 |
AC |
2 ms |
4352 KB |
b13 |
AC |
2 ms |
4352 KB |
b14 |
AC |
2 ms |
4352 KB |
b15 |
AC |
2 ms |
4352 KB |
b16 |
AC |
2 ms |
4352 KB |
b17 |
AC |
2 ms |
4352 KB |
b18 |
AC |
2 ms |
4352 KB |
b19 |
AC |
2 ms |
4352 KB |
b20 |
AC |
2 ms |
4352 KB |
b21 |
AC |
2 ms |
4352 KB |
b22 |
AC |
2 ms |
4352 KB |
b23 |
AC |
2 ms |
4352 KB |
b24 |
AC |
2 ms |
4352 KB |