結果

問題 No.1338 Giant Class
ユーザー ixTL255
提出日時 2023-01-02 15:16:17
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 140 ms / 2,000 ms
コード長 659 bytes
コンパイル時間 15,146 ms
コンパイル使用メモリ 390,516 KB
実行使用メモリ 7,372 KB
最終ジャッジ日時 2024-11-27 00:48:40
合計ジャッジ時間 16,914 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

use std::io::Read;
use std::collections::HashMap;

fn main() {
	let mut s = String::new();
	std::io::stdin().read_to_string(&mut s).ok();
	let mut itr = s.trim().split_whitespace();
	let h: usize = itr.next().unwrap().parse().unwrap();
	let w: usize = itr.next().unwrap().parse().unwrap();	
	let q: usize = itr.next().unwrap().parse().unwrap();	
	
	let mut ans = h * w;
	let mut m = HashMap::new();
	
	for _ in 0..q {
		let y = itr.next().unwrap().parse::<usize>().unwrap() - 1;
		let x = itr.next().unwrap().parse::<usize>().unwrap() - 1;
		
		let v = m.get(&x).unwrap_or(&h);
		if v > &y {
			ans -= v - y;
			m.insert(x, y);
		}
		println!("{}", ans);
	}
}
0