結果
問題 | No.1231 Make a Multiple of Ten |
ユーザー |
![]() |
提出日時 | 2020-09-18 21:33:09 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 145 ms / 2,000 ms |
コード長 | 1,532 bytes |
コンパイル時間 | 4,480 ms |
コンパイル使用メモリ | 110,724 KB |
実行使用メモリ | 41,984 KB |
最終ジャッジ日時 | 2024-06-23 13:39:09 |
合計ジャッジ時間 | 3,674 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp3 { class Program { static void Main(string[] args) { var scanner = new Scanner(); int N = scanner.NextInt(); int[] A = new int[N]; for (int i = 0; i < N; i++) { A[i] = scanner.NextInt(); } int[] dp = new int[10]; for (int i = 0; i < 10; i++) { dp[i] = int.MinValue; } dp[0] = 0; foreach (int x in A) { int[] to = new int[10]; for (int i = 0; i < 10; i++) { to[i] = dp[i]; } for (int i = 0; i < 10; i++) { to[(i + x) % 10] = Math.Max(to[(i + x) % 10], dp[i] + 1); } dp = to; } Console.WriteLine(dp[0]); } } class Scanner { int index = 0; string[] tokens = { }; public string Next() { if (index == tokens.Length) { index = 0; tokens = Console.ReadLine().Split(' '); } return tokens[index++]; } public int NextInt() { return int.Parse(Next()); } public long NextLong() { return long.Parse(Next()); } public double NextDouble() { return double.Parse(Next()); } } }