Submission #1164709
Source Code Expand
#include <iostream>
using namespace std;
typedef long long lli;
#define MOD 1000000007
lli n,a,b,c,d;
lli dp[1001][1001];
bool bl[1001][1001];
lli exeuclid(lli a,lli aa,lli x,lli xx,lli y,lli yy){
lli q;
if(a == 0) return aa > 0 ? xx : -xx;
q = aa / a;
return exeuclid(aa - q * a,a,xx - q * x,x,yy - q * y,y);
}
lli invarse(lli x){
return (exeuclid(MOD,x,0,1,1,0) + MOD) % MOD;
}
lli factrial(lli x){
static lli dp[100000];
if(dp[x]) return dp[x];
if(x == 0) return dp[x] = 1;
return dp[x] = (factrial(x-1) * x) % MOD;
}
lli pow(lli a,lli n,lli mod = 1000000007){
lli ret = 1;
for(;n!=0;n=n>>1){
if(n&1) ret = (ret * a) % mod;
a = (a * a) % mod;
}
return ret;
}
lli f(lli n,lli k,lli x){
lli ret = factrial(n);ret %= MOD;
ret *= invarse(factrial(n-x*k));ret %= MOD;
ret *= invarse(pow(factrial(k),x));ret %= MOD;
ret *= invarse(factrial(x));ret %= MOD;
return ret;
}
lli dfs(lli i,lli j){
if(bl[i][j]) return dp[i][j];
bl[i][j] = true;
if(i < a) return dp[i][j] = j ? 0 : 1;
dp[i][j] = dfs(i-1,j);
for(lli k = c;k <= d && j-k*i >= 0;k++){
dp[i][j] += dfs(i-1,j-k*i)*f(j,i,k);
dp[i][j] %= MOD;
}
return dp[i][j];
}
int main(int argc, char const *argv[]) {
cin >> n >> a >> b >> c >> d;
cout << dfs(b,n) << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
E - Grouping |
User |
deoxy |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
1385 Byte |
Status |
TLE |
Exec Time |
2103 ms |
Memory |
8320 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
0 / 600 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
All |
sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_many_01.txt, subtask_1_many_02.txt, subtask_1_many_03.txt, subtask_1_many_04.txt, subtask_1_max_01.txt, subtask_1_max_02.txt, subtask_1_min_01.txt, subtask_1_randa_01.txt, subtask_1_randa_02.txt, subtask_1_randb_01.txt, subtask_1_randb_02.txt |
Case Name |
Status |
Exec Time |
Memory |
sample_01.txt |
AC |
1 ms |
256 KB |
sample_02.txt |
AC |
1 ms |
256 KB |
sample_03.txt |
TLE |
2103 ms |
4480 KB |
sample_04.txt |
AC |
1 ms |
256 KB |
subtask_1_many_01.txt |
AC |
1874 ms |
896 KB |
subtask_1_many_02.txt |
AC |
1215 ms |
8320 KB |
subtask_1_many_03.txt |
AC |
1762 ms |
1024 KB |
subtask_1_many_04.txt |
AC |
1535 ms |
5888 KB |
subtask_1_max_01.txt |
AC |
2 ms |
2560 KB |
subtask_1_max_02.txt |
AC |
2 ms |
4480 KB |
subtask_1_min_01.txt |
AC |
1 ms |
256 KB |
subtask_1_randa_01.txt |
AC |
2 ms |
4608 KB |
subtask_1_randa_02.txt |
AC |
1 ms |
512 KB |
subtask_1_randb_01.txt |
AC |
2 ms |
4608 KB |
subtask_1_randb_02.txt |
AC |
3 ms |
2944 KB |