結果

問題 No.1338 Giant Class
コンテスト
ユーザー natoriusan
提出日時 2023-07-30 23:26:55
言語 F#
(F# 10.0)
コンパイル:
fsharp_c _filename_
実行:
/usr/bin/dotnet_wrap
結果
WA  
実行時間 -
コード長 938 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 7,833 ms
コンパイル使用メモリ 222,224 KB
実行使用メモリ 862,304 KB
最終ジャッジ日時 2026-04-25 22:37:16
合計ジャッジ時間 22,074 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 4 WA * 8 RE * 7 MLE * 2
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.fsproj を復元しました (191 ミリ秒)。
/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/net10.0/main.dll
  main -> /home/judge/data/code/bin/Release/net10.0/publish/

ソースコード

diff #
raw source code

let [|h; w; q|] = stdin.ReadLine().Split " " |> Array.map int


let seatArr = Array.replicate w (h+1)
let mutable available = (int64 h) * (int64 w)

for _ in 0..q-1 do
    let [|y; x|] = stdin.ReadLine().Split " " |> Array.map int
    let minus =
        let m = seatArr.[x-1] - y
        if m < 0 then
            0
        else m
    seatArr.[x-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"
0