QOJ.ac

QOJ

Limite de temps : 10 s Limite de mémoire : 256 MB Points totaux : 100

#23803. A First Grader

Statistiques
問題
4
   1年生 (A First Grader)

問題

JOI君は小学 1 年生である.JOI君は教わったばかりの足し算,引き算がとても好きで,数字が並んでいるのを見ると最後の 2 つの数字の間に「=」を入れ,残りの数字の間に必ず「+」または「-」を入れて等式を作って遊んでいる.例えば「8 3 2 4 8 7 2 4 0 8 8」から,等式「8+3-2-4+8-7-2-4-0+8=8」を作ることができる.

JOI君は等式を作った後,それが正しい等式になっているかを計算して確かめる.ただし,JOI君はまだ負の数は知らないし,20 を超える数の計算はできない.したがって,正しい等式のうち左辺を左から計算したとき計算の途中で現れる数が全て 0 以上 20 以下の等式だけがJOI君が確かめられる正しい等式である.例えば,「8+3-2-4-8-7+2+4+0+8=8」は 正しい等式だが,途中に現れる 8+3-2-4-8 が負の数なのでJOI君はこの等式が正しいかどうか確かめることができない.

入力として数字の列が与えられたとき,JOI君が作り,確かめることができる正しい等式の個数を求めるプログラムを作成せよ.

入力

入力ファイルは 2 行からなる.1 行目には並んでいる数字の個数を表す整数 N (3 ≦ N ≦ 100)が書かれている.2 行目には 0 以上 9 以下の整数が N 個,空白を区切りとして書かれている.

与えられる入力データの 60% では,JOI君が作り,確かめることができる正しい等式の個数は 231-1 を超えない.また,与えられる入力データの全てにおいて,JOI君が作り,確かめることができる正しい等式の個数は 263-1 を超えない.

出力

JOI君が作り,確かめることができる正しい等式の個数を表す整数を 1 行で出力せよ.

入出力例

入力例1 入力例2
11
8 3 2 4 8 7 2 4 0 8 8
  
40
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1
   
出力例1 出力例2
10
  
7069052760
  

入力例 1 において,JOI君は 10 個の正しい等式

8+3-2-4+8-7-2-4-0+8=8

8+3-2-4+8-7-2-4+0+8=8

8+3+2+4-8-7+2-4-0+8=8

8+3+2+4-8-7+2-4+0+8=8

8+3+2-4+8-7+2+4-0-8=8

8+3+2-4+8-7+2+4+0-8=8

8-3+2+4-8+7+2+4-0-8=8

8-3+2+4-8+7+2+4+0-8=8

8-3+2-4+8+7+2-4-0-8=8

8-3+2-4+8+7+2-4+0-8=8 を作り,確かめることができるので 10 を出力する.

入力例 2 において,答えが 32 bit符号付き整数の範囲に収まらないことに注意せよ.

(2015年2月21日追記) 利用者からの指摘で,入力例 1 の説明中の等式の中に誤りがあることが判明しました. 現在は修正済です.5 番目の等式は 8+3-2-4+8-7+2+4-0-8=8 でしたが,これを 8+3+2-4+8-7+2+4-0-8=8 に修正しました. また,6 番目の等式は 8+3-2-4+8-7+2+4+0-8=8 でしたが,これを 8+3+2-4+8-7+2+4+0-8=8 に修正しました.

※各入出力例のデータは, 右クリック等によりファイルに保存して利用可能です.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.