General
 
 
# Author Problem Lang Verdict Time Memory Sent Judged  
230364270 Practice:
FreshOrange
1854C - 8 C++20 (GCC 11-64) Accepted 15 ms 2012 KB 2023-10-29 15:20:01 2023-10-29 15:20:01
→ Source
#include<bits/stdc++.h>

using namespace std;

typedef long long E;
const E mod=1e9+7;

E ksm(E a,E b){
  E ret=1;
  while(b){
    if(b&1) ret=ret*a%mod;
    a=a*a%mod;
    b>>=1;
  }
  return ret;
}

const int N=510;
const E inv2=(mod+1)>>1;
E f[N][N],n,m;

int main(){

  cin>>n>>m;
  for(int i=0; i<=m; i++){
    f[i][i]=0;
    for(int j=i+1; j<=m; j++){
      if(i){
        f[i][j]=(f[i-1][j]+(f[i][j-1]+1))*inv2%mod;
      }
      else{
        f[i][j]=(f[i][j-1]+1)%mod;
      }
    }
  }

  E lst=0,ans=0;
  for(int i=1; i<=n; i++){
    E s;
    cin>>s;
    if(lst) ans=(ans+f[m-s+1][m-lst+1])%mod;
    lst=s;
  }
  ans=(ans+f[0][m-lst+1])%mod;

  cout<<ans<<endl;

  return 0;
}
?
Time: ? ms, memory: ? KB
Verdict: ?
Input
?
Participant's output
?
Jury's answer
?
Checker comment
?
Diagnostics
?
Click to see test details