結果
問題 |
No.910 素数部分列
|
ユーザー |
![]() |
提出日時 | 2019-10-19 00:48:46 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,378 bytes |
コンパイル時間 | 2,160 ms |
コンパイル使用メモリ | 103,552 KB |
実行使用メモリ | 21,504 KB |
最終ジャッジ日時 | 2024-06-25 20:36:51 |
合計ジャッジ時間 | 4,863 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 WA * 33 |
コンパイルメッセージ
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.Numerics; using static System.Console; using static System.Math; class Program { static void Main() { var N = int.Parse(ReadLine()); var S = ReadLine(); var ans = 0; var s = new List<int>(); for (int i = 0; i < N; i++) { var n = S[i] - '0'; if (n == 3 || n == 5 || n == 7) ans++; else s.Add(n); } var q = new List<int>(); var c = 0; var m = 0; for (int i = 0; i < s.Count; i++) { if (s[i] == 1) { c++; } else { c--; m++; } if (c < 0) { q.Add(9); m--; c = 0; } } ans += m; for (int i = s.Count - 1; i >= 0; i--) { if (s[i] == 1) q.Add(1); else break; } var a = false; if (q.Count >= 3 && q[1] == 9 && q[q.Count - 1] == 1) { ans += 1; a = true; } var k = 0; for (int i = 0; i < q.Count; i++) { if (q[i] == 1) k++; } if (a) k--; ans += k / 2; WriteLine(ans); } }