結果
問題 |
No.1006 Share an Integer
|
ユーザー |
|
提出日時 | 2020-06-03 19:16:06 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 185 ms / 2,000 ms |
コード長 | 686 bytes |
コンパイル時間 | 19,737 ms |
コンパイル使用メモリ | 404,312 KB |
実行使用メモリ | 48,684 KB |
最終ジャッジ日時 | 2024-11-25 07:59:42 |
合計ジャッジ時間 | 22,250 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
use std::cmp::{min, max}; //TODO fn main() { let mut x = String::new(); std::io::stdin().read_line(&mut x).ok(); let x: usize = x.trim().parse().unwrap(); let mut d: Vec<usize> = vec![0; x+1]; for i in 1..x { for j in 1..=x/i { d[i*j] += 1; } } let f: Vec<usize> = (0..=x).map(|i| i - d[i]).collect(); let f: Vec<usize> = (0..=x).map(|i| max(f[i], f[x-i]) - min(f[i], f[x-i])).collect(); let minval: usize = f.iter().map(|i| *i).min().unwrap(); f.iter().enumerate().for_each(|pair| { let i = *pair.1; let j = pair.0; if i == minval { println!("{} {}", j, x-j); } }); }