結果
問題 | No.1205 Eye Drops |
ユーザー |
|
提出日時 | 2020-10-15 16:24:31 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 22 ms / 2,000 ms |
コード長 | 1,106 bytes |
コンパイル時間 | 12,814 ms |
コンパイル使用メモリ | 378,120 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-20 19:47:42 |
合計ジャッジ時間 | 15,445 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 37 |
コンパイルメッセージ
warning: unused variable: `i` --> src/main.rs:25:9 | 25 | for i in 0..nm[1] { | ^ help: if this is intentional, prefix it with an underscore: `_i` | = note: `#[warn(unused_variables)]` on by default
ソースコード
struct Point { pub time: i64, pub pos: i64, } impl Point { pub fn new(time: i64, pos: i64) -> Self { Point { time, pos } } } fn main() { // input N,M let nm: Vec<i64> = { let mut s = String::new(); std::io::stdin().read_line(&mut s).unwrap(); s.split_whitespace().map(|x| x.parse().unwrap()).collect() }; // input Vec(T[1..M],P[1..M]) let mut v: Vec<Point> = Vec::new(); for i in 0..nm[1] { let tp: Vec<i64> = { let mut s = String::new(); std::io::stdin().read_line(&mut s).unwrap(); s.split_whitespace().map(|x| x.parse().unwrap()).collect() }; v.push(Point::new(tp[0], tp[1])); } // sort v.sort_by(|a,b| b.time.cmp(&a.time)); v.reverse(); // simulation let mut t = 0; let mut p = 0; for i in v.iter() { if i.time-t >= (i.pos-p).abs() { t = i.time; p = i.pos; } else { println!("No"); return; } } println!("Yes"); }