Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
230364270 Дорешивание:
FreshOrange
1854C - 8 C++20 (GCC 11-64) Полное решение 15 мс 2012 КБ 2023-10-29 15:20:01 2023-10-29 15:20:01
→ Исходный код
#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;
}
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования