31 lines
480 B
Rust
31 lines
480 B
Rust
use proconio::input;
|
|
use std::cmp::min;
|
|
|
|
fn solve(k: u32, s: u32) -> u32 {
|
|
let mut result = 0;
|
|
let low = s - min(s, 2 * k);
|
|
|
|
for i in low..=k {
|
|
for j in low..=k {
|
|
for h in low..=k {
|
|
if i + j + h == s {
|
|
result += 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
fn main() {
|
|
input! {
|
|
k: u32,
|
|
s: u32,
|
|
};
|
|
|
|
assert!(s <= 3 * k);
|
|
|
|
println!("{}", solve(k, s));
|
|
}
|