Submission #972455

# Submission time Handle Problem Language Result Execution time Memory
972455 2024-04-30T12:48:08 Z LCJLY Asceticism (JOI18_asceticism) C++14
49 / 100
78 ms 143840 KB
#include <bits/stdc++.h>
using namespace std;
	
#define int long long 
#define ld long double
#define show(x,y) cout << y << " " << #x << endl;
#define show2(x,y,i,j) cout << y << " " << #x << "  " << j << " " << #i << endl;
#define show3(x,y,i,j,p,q) cout << y << " " << #x << "  " << j << " " << #i << "  " << q << " " << #p << endl;
#define show4(x,y) for(auto it:y) cout << it << " "; cout << #x << endl;
typedef pair<long long,long long>pii;
typedef pair<int,pii>pi2;
mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count());

int n,k;
int dp[3005][3005];
const int mod=1e9+7;

//int dp(int index, int day){
	//if(index==n+1){
		//if(day==k) return 1;
		//else return 0;
	//}
	//if(memo[index][day]!=-1) return memo[index][day];
	//int ans=0;
	//ans=(ans+dp(index+1,day)*(day))%mod;
	//ans=(ans+dp(index+1,day+1)*(index-day))%mod;
	//return memo[index][day]=ans;
//}

void solve(){
	cin >> n >> k;
	memset(dp,0,sizeof(dp));
	//cout << dp(1,0);
	dp[0][0]=1;
	for(int index=1;index<=n;index++){
		for(int day=0;day<=index;day++){
			dp[index][day]=(dp[index-1][day]*day)%mod;
			if(day>0){
				//show(check,1);
				dp[index][day]=(dp[index][day]+dp[index-1][day-1]*(index-day+1))%mod;
			}
			//show3(index,index,day,day,dp[index][day],dp[index][day]);
		}
	}
	cout << dp[n][k];
}
 
int32_t main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	int t=1;
	//freopen("in.txt","r",stdin);
	//cin >> t;
	while(t--){
		solve();
	}
}
# Verdict Execution time Memory Grader output
1 Correct 22 ms 70992 KB Output is correct
2 Correct 10 ms 71000 KB Output is correct
3 Correct 11 ms 71092 KB Output is correct
4 Correct 11 ms 71004 KB Output is correct
5 Correct 10 ms 71516 KB Output is correct
6 Correct 10 ms 71004 KB Output is correct
7 Correct 10 ms 71000 KB Output is correct
8 Correct 10 ms 71004 KB Output is correct
9 Correct 10 ms 70976 KB Output is correct
10 Correct 10 ms 71064 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 22 ms 70992 KB Output is correct
2 Correct 10 ms 71000 KB Output is correct
3 Correct 11 ms 71092 KB Output is correct
4 Correct 11 ms 71004 KB Output is correct
5 Correct 10 ms 71516 KB Output is correct
6 Correct 10 ms 71004 KB Output is correct
7 Correct 10 ms 71000 KB Output is correct
8 Correct 10 ms 71004 KB Output is correct
9 Correct 10 ms 70976 KB Output is correct
10 Correct 10 ms 71064 KB Output is correct
11 Correct 10 ms 71004 KB Output is correct
12 Correct 10 ms 70900 KB Output is correct
13 Correct 10 ms 71000 KB Output is correct
14 Correct 10 ms 71000 KB Output is correct
15 Correct 10 ms 71000 KB Output is correct
16 Correct 10 ms 71004 KB Output is correct
17 Correct 10 ms 71068 KB Output is correct
18 Correct 10 ms 70996 KB Output is correct
19 Correct 10 ms 71004 KB Output is correct
20 Correct 11 ms 71088 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 22 ms 70992 KB Output is correct
2 Correct 10 ms 71000 KB Output is correct
3 Correct 11 ms 71092 KB Output is correct
4 Correct 11 ms 71004 KB Output is correct
5 Correct 10 ms 71516 KB Output is correct
6 Correct 10 ms 71004 KB Output is correct
7 Correct 10 ms 71000 KB Output is correct
8 Correct 10 ms 71004 KB Output is correct
9 Correct 10 ms 70976 KB Output is correct
10 Correct 10 ms 71064 KB Output is correct
11 Correct 10 ms 71004 KB Output is correct
12 Correct 10 ms 70900 KB Output is correct
13 Correct 10 ms 71000 KB Output is correct
14 Correct 10 ms 71000 KB Output is correct
15 Correct 10 ms 71000 KB Output is correct
16 Correct 10 ms 71004 KB Output is correct
17 Correct 10 ms 71068 KB Output is correct
18 Correct 10 ms 70996 KB Output is correct
19 Correct 10 ms 71004 KB Output is correct
20 Correct 11 ms 71088 KB Output is correct
21 Correct 11 ms 71004 KB Output is correct
22 Correct 12 ms 71004 KB Output is correct
23 Correct 12 ms 71000 KB Output is correct
24 Correct 11 ms 71004 KB Output is correct
25 Correct 11 ms 71004 KB Output is correct
26 Correct 12 ms 71004 KB Output is correct
27 Correct 12 ms 71004 KB Output is correct
28 Correct 10 ms 71004 KB Output is correct
29 Correct 10 ms 71124 KB Output is correct
30 Correct 12 ms 70916 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 22 ms 70992 KB Output is correct
2 Correct 10 ms 71000 KB Output is correct
3 Correct 11 ms 71092 KB Output is correct
4 Correct 11 ms 71004 KB Output is correct
5 Correct 10 ms 71516 KB Output is correct
6 Correct 10 ms 71004 KB Output is correct
7 Correct 10 ms 71000 KB Output is correct
8 Correct 10 ms 71004 KB Output is correct
9 Correct 10 ms 70976 KB Output is correct
10 Correct 10 ms 71064 KB Output is correct
11 Correct 10 ms 71004 KB Output is correct
12 Correct 10 ms 70900 KB Output is correct
13 Correct 10 ms 71000 KB Output is correct
14 Correct 10 ms 71000 KB Output is correct
15 Correct 10 ms 71000 KB Output is correct
16 Correct 10 ms 71004 KB Output is correct
17 Correct 10 ms 71068 KB Output is correct
18 Correct 10 ms 70996 KB Output is correct
19 Correct 10 ms 71004 KB Output is correct
20 Correct 11 ms 71088 KB Output is correct
21 Correct 11 ms 71004 KB Output is correct
22 Correct 12 ms 71004 KB Output is correct
23 Correct 12 ms 71000 KB Output is correct
24 Correct 11 ms 71004 KB Output is correct
25 Correct 11 ms 71004 KB Output is correct
26 Correct 12 ms 71004 KB Output is correct
27 Correct 12 ms 71004 KB Output is correct
28 Correct 10 ms 71004 KB Output is correct
29 Correct 10 ms 71124 KB Output is correct
30 Correct 12 ms 70916 KB Output is correct
31 Runtime error 78 ms 143840 KB Execution killed with signal 11
32 Halted 0 ms 0 KB -