← C#

LESSON / EXERCISE

演習:キャンセル可能な非同期バッチ処理を実装する

CancellationTokenを各タスクへ伝播し、Task.WhenAllで結果を集約します。

演習:キャンセル可能な非同期バッチ処理を実装する

N 個の整数を非同期処理し、すべての値を 2 倍した合計を求めてください。ただし、入力に負の値が1つでも含まれている場合は処理全体をキャンセルします。

入力

1行目に整数 N、2行目に N 個の整数が空白区切りで与えられます。

出力

負の値が含まれない場合は、2 倍した値の合計を出力してください。負の値が1つでも含まれる場合は CANCELLED と出力してください。

制約

  • 1 <= N <= 1000
  • -1,000,000 <= Ai <= 1,000,000

CancellationTokenSource でキャンセルトークンを作り、各非同期メソッドへ渡してください。Task.WhenAll で全タスクを待ち、キャンセル時は OperationCanceledException を適切に処理してください。

コード提出フォーム

CSHARP

安全なサーバー側採点連携が未接続のため、現在は提出できません。

採点基盤準備中