結果
| 問題 |
No.1338 Giant Class
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-07-30 23:56:03 |
| 言語 | F# (F# 4.0) |
| 結果 |
AC
|
| 実行時間 | 1,058 ms / 2,000 ms |
| コード長 | 1,072 bytes |
| コンパイル時間 | 6,865 ms |
| コンパイル使用メモリ | 205,816 KB |
| 実行使用メモリ | 62,944 KB |
| 最終ジャッジ日時 | 2024-10-09 18:53:02 |
| 合計ジャッジ時間 | 24,195 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 21 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.fsproj を復元しました (225 ms)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) /home/judge/data/code/Main.fs(1,5): warning FS0025: この式のパターン マッチが不完全です たとえば、値 '[|_; _; _; _|]' はパターンに含まれないケースを示す可能性があります。 [/home/judge/data/code/main.fsproj] /home/judge/data/code/Main.fs(8,9): warning FS0025: この式のパターン マッチが不完全です たとえば、値 '[|_; _; _|]' はパターンに含まれないケースを示す可能性があります。 [/home/judge/data/code/main.fsproj] main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
let [|h; w; q|] = stdin.ReadLine().Split " " |> Array.map int
let mutable available = (int64 h) * (int64 w)
let mutable M = Map.empty
for _ in 0..q-1 do
let [|y; x|] = stdin.ReadLine().Split " " |> Array.map int
let minus =
if Map.containsKey (x-1) M then
let m = M.[x-1] - y
if m < 0 then
0
else
M <- M.Add (x-1, y)
m
else
M <- M.Add (x-1, y)
(h+1) - y
available <- available - (int64 minus)
printfn "%d" available
// let arr =
// [|
// for i in 0..q-1 ->
// let [|y; x|] = stdin.ReadLine().Split " " |> Array.map int
// x, y
// |] |> Array.sort |> Array.rev
//
// let rec count prev_x value index =
// if index = arr.Length then
// value
// else
// let x, y = arr.[index]
// if prev_x <> x then
// count x (value+y) (index+1)
// else
// count x value (index+1)
//
// count -1 0 0 |> printfn "%d"