Submission #15201004


Source Code Expand

#include<bits/stdc++.h> 
using namespace std;
typedef long long int ll;
#define fo(i,s,e_ex) for(i=s;i<e_ex;i++)
#define MOD 1000000007//998244353

ll arr[105],dp[105][100005];
int main(){
	ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	ll i,j,n,k;
	cin>>n>>k;
	for(i=1;i<=n;i++) cin>>arr[i];
	dp[0][0]=1; //BASE CASE
	for(i=1;i<=k;i++) dp[0][i]=0; //BASE CASE
	for(i=1;i<=n;i++){
		for(j=1;j<=k;j++)
			dp[i-1][j]=(dp[i-1][j]+dp[i-1][j-1])%MOD;
			
		for(j=0;j<=k;j++){
			ll mn=j-arr[i]-1;
			dp[i][j]=dp[i-1][j];
			if(mn>=0) dp[i][j]=(dp[i][j]-dp[i-1][mn]+MOD)%MOD;
		}
	}
	cout<<dp[n][k]<<endl;
	return 0;
}

Submission Info

Submission Time
Task M - Candies
User apoorva222g
Language C++ (GCC 9.2.1)
Score 100
Code Size 651 Byte
Status AC
Exec Time 114 ms
Memory 82508 KiB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 16
Set Name Test Cases
All 0_00, 0_01, 0_02, 0_03, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11
Case Name Status Exec Time Memory
0_00 AC 10 ms 3604 KiB
0_01 AC 2 ms 3524 KiB
0_02 AC 1 ms 3504 KiB
0_03 AC 11 ms 7416 KiB
1_00 AC 2 ms 3588 KiB
1_01 AC 5 ms 5132 KiB
1_02 AC 2 ms 3976 KiB
1_03 AC 105 ms 82504 KiB
1_04 AC 107 ms 81588 KiB
1_05 AC 107 ms 81608 KiB
1_06 AC 107 ms 82508 KiB
1_07 AC 108 ms 81636 KiB
1_08 AC 107 ms 81424 KiB
1_09 AC 109 ms 82412 KiB
1_10 AC 107 ms 80992 KiB
1_11 AC 114 ms 81748 KiB