Submission #1164696
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];
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;
}
int main(int argc, char const *argv[]) {
cin >> n >> a >> b >> c >> d;
dp[a-1][0] = 1;
for(lli i = a;i <= b;i++){
for(lli j = 0;j <= n;j++){
dp[i][j] += dp[i-1][j];
for(lli k = c;k <= d && j-k*i >= 0;k++){
dp[i][j] += dp[i-1][j-k*i]*f(j,i,k);
dp[i][j] %= MOD;
}
}
}
cout << dp[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 |
1362 Byte |
Status |
TLE |
Exec Time |
2103 ms |
Memory |
8448 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 |
2 ms |
2304 KB |
sample_02.txt |
AC |
2 ms |
2304 KB |
sample_03.txt |
TLE |
2103 ms |
3072 KB |
sample_04.txt |
AC |
2 ms |
2304 KB |
subtask_1_many_01.txt |
AC |
1963 ms |
2816 KB |
subtask_1_many_02.txt |
AC |
1717 ms |
8448 KB |
subtask_1_many_03.txt |
AC |
1968 ms |
2944 KB |
subtask_1_many_04.txt |
AC |
1977 ms |
6400 KB |
subtask_1_max_01.txt |
AC |
22 ms |
4352 KB |
subtask_1_max_02.txt |
AC |
15 ms |
4352 KB |
subtask_1_min_01.txt |
AC |
2 ms |
2304 KB |
subtask_1_randa_01.txt |
AC |
3 ms |
5120 KB |
subtask_1_randa_02.txt |
AC |
2 ms |
2560 KB |
subtask_1_randb_01.txt |
AC |
5 ms |
4736 KB |
subtask_1_randb_02.txt |
AC |
7 ms |
2816 KB |