結果
| 問題 |
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");
}