結果
| 問題 |
No.910 素数部分列
|
| コンテスト | |
| ユーザー |
mban
|
| 提出日時 | 2019-10-18 21:46:11 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 3,017 bytes |
| コンパイル時間 | 1,922 ms |
| コンパイル使用メモリ | 106,752 KB |
| 実行使用メモリ | 28,288 KB |
| 最終ジャッジ日時 | 2024-06-25 15:28:19 |
| 合計ジャッジ時間 | 4,654 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 28 WA * 22 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
using System.Text;
public class Program
{
public void Solve()
{
var sc = new Scanner();
int N = sc.NextInt();
string S = sc.Next();
int ans = 0;
int oneCnt = 0;
int nineCnt = 0;
foreach (var c in S)
{
if (c == '3' || c == '5' || c == '7')
{
ans++;
}
else if (c == '1')
{
if (nineCnt >= 2)
{
nineCnt -= 2;
ans++;
}
else
{
oneCnt++;
}
}
else if (c == '9')
{
if (oneCnt >= 1)
{
ans++;
oneCnt--;
}
else
{
nineCnt++;
}
}
}
ans += oneCnt / 2;
Console.WriteLine(ans);
}
public static void Main(string[] args)
{
new Program().Solve();
}
}
class Scanner
{
public Scanner()
{
_pos = 0;
_line = new string[0];
}
const char Separator = ' ';
private int _pos;
private string[] _line;
#region スペース区切りで取得
public string Next()
{
if (_pos >= _line.Length)
{
_line = Console.ReadLine().Split(Separator);
_pos = 0;
}
return _line[_pos++];
}
public int NextInt()
{
return int.Parse(Next());
}
public long NextLong()
{
return long.Parse(Next());
}
public double NextDouble()
{
return double.Parse(Next());
}
#endregion
#region 型変換
private int[] ToIntArray(string[] array)
{
var result = new int[array.Length];
for (int i = 0; i < array.Length; i++)
{
result[i] = int.Parse(array[i]);
}
return result;
}
private long[] ToLongArray(string[] array)
{
var result = new long[array.Length];
for (int i = 0; i < array.Length; i++)
{
result[i] = long.Parse(array[i]);
}
return result;
}
private double[] ToDoubleArray(string[] array)
{
var result = new double[array.Length];
for (int i = 0; i < array.Length; i++)
{
result[i] = double.Parse(array[i]);
}
return result;
}
#endregion
#region 配列取得
public string[] Array()
{
if (_pos >= _line.Length)
_line = Console.ReadLine().Split(Separator);
_pos = _line.Length;
return _line;
}
public int[] IntArray()
{
return ToIntArray(Array());
}
public long[] LongArray()
{
return ToLongArray(Array());
}
public double[] DoubleArray()
{
return ToDoubleArray(Array());
}
#endregion
}
mban