CF1194F.Crossword Expert
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Today Adilbek is taking his probability theory test. Unfortunately, when Adilbek arrived at the university, there had already been a long queue of students wanting to take the same test. Adilbek has estimated that he will be able to start the test only T seconds after coming.
Fortunately, Adilbek can spend time without revising any boring theorems or formulas. He has an app on this smartphone which contains n Japanese crosswords to solve. Adilbek has decided to solve them all one by one in the order they are listed in the app, without skipping any crossword. For each crossword, a number ti is given that represents the time it takes an average crossword expert to solve this crossword (the time is given in seconds).
Adilbek is a true crossword expert, but, unfortunately, he is sometimes unlucky in choosing the way to solve the crossword. So, it takes him either ti seconds or ti+1 seconds to solve the i -th crossword, equiprobably (with probability 21 he solves the crossword in exactly ti seconds, and with probability 21 he has to spend an additional second to finish the crossword). All these events are independent.
After T seconds pass (or after solving the last crossword, if he manages to do it in less than T seconds), Adilbek closes the app (if he finishes some crossword at the same moment, that crossword is considered solved; otherwise Adilbek does not finish solving the current crossword at all). He thinks it would be an interesting probability theory problem to calculate E — the expected number of crosswords he will be able to solve completely. Can you calculate it?
Recall that the expected value of a discrete random variable is the probability-weighted average of all possible values — in this problem it means that the expected value of the number of solved crosswords can be calculated as E=i=0∑nipi , where pi is the probability that Adilbek will solve exactly i crosswords.
We can represent E as rational fraction QP with Q>0 . To give the answer, you should print P⋅Q−1mod(109+7) .
输入格式
The first line contains two integers n and T ( 1≤n≤2⋅105 , 1≤T≤2⋅1014 ) — the number of crosswords and the time Adilbek has to spend, respectively.
The second line contains n integers t1,t2,…,tn ( 1≤ti≤109 ), where ti is the time it takes a crossword expert to solve the i -th crossword.
Note that Adilbek solves the crosswords in the order they are given in the input without skipping any of them.
输出格式
Print one integer — the expected value of the number of crosswords Adilbek solves in T seconds, expressed in the form of P⋅Q−1mod(109+7) .
输入输出样例
输入#1
3 5 2 2 2
输出#1
750000007
输入#2
3 5 2 1 2
输出#2
125000003
说明/提示
The answer for the first sample is equal to 814 .
The answer for the second sample is equal to 817 .