10627 2024. 04. 07 00:08:28 111 Tömbök előállítása cpp17 Elfogadva 100/100 1.442s 4932 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long

#define MOD 1000000007

using vec=array<int,1000>;

int M;

vec operator*(vec a,vec b){
	vec r{};
	for(int i=0;i<M;i++){
		for(int j=0;j<M;j++){
			r[i]+=a[j]*b[(i-j+M)%M];
			r[i]%=MOD;
		}
	}
	return r;
}

vec vec_pow(vec x,int p){
	vec r{};
	r[0]=1;
	while(p){
		if(p&1){
			r=r*x;
		}
		x=x*x;
		p>>=1;
	}
	return r;
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N,L,R,K;
	cin>>N>>M>>L>>R>>K;
	vec v{};
	for(int i=0;i<M;i++){
		int s=L%M>i?L/M:L/M-1;
		int e=R%M<i?R/M-1:R/M;
		v[i]=e-s;
	}
	v=vec_pow(v,N);
	cout<<v[K]<<'\n';
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 2072 KiB
2 Elfogadva 3ms 2376 KiB
3 Elfogadva 3ms 2472 KiB
subtask2 10/10
4 Elfogadva 2ms 2432 KiB
5 Elfogadva 3ms 2824 KiB
6 Elfogadva 3ms 3124 KiB
subtask3 10/10
7 Elfogadva 3ms 3332 KiB
8 Elfogadva 3ms 3548 KiB
9 Elfogadva 3ms 3660 KiB
10 Elfogadva 3ms 3940 KiB
11 Elfogadva 3ms 3896 KiB
12 Elfogadva 3ms 3912 KiB
13 Elfogadva 3ms 3796 KiB
subtask4 7/7
14 Elfogadva 3ms 3956 KiB
15 Elfogadva 3ms 3912 KiB
16 Elfogadva 3ms 3964 KiB
17 Elfogadva 3ms 3960 KiB
18 Elfogadva 3ms 3996 KiB
19 Elfogadva 3ms 4248 KiB
20 Elfogadva 3ms 4296 KiB
subtask5 8/8
21 Elfogadva 57ms 4296 KiB
22 Elfogadva 28ms 4300 KiB
23 Elfogadva 37ms 4300 KiB
24 Elfogadva 25ms 4264 KiB
25 Elfogadva 14ms 4388 KiB
26 Elfogadva 8ms 4348 KiB
27 Elfogadva 43ms 4400 KiB
28 Elfogadva 12ms 4400 KiB
29 Elfogadva 57ms 4360 KiB
30 Elfogadva 57ms 4352 KiB
subtask6 25/25
31 Elfogadva 14ms 4356 KiB
32 Elfogadva 14ms 4352 KiB
33 Elfogadva 6ms 4504 KiB
34 Elfogadva 7ms 4464 KiB
35 Elfogadva 4ms 4460 KiB
36 Elfogadva 6ms 4516 KiB
37 Elfogadva 3ms 4364 KiB
38 Elfogadva 3ms 4412 KiB
39 Elfogadva 9ms 4304 KiB
40 Elfogadva 8ms 4624 KiB
subtask7 40/40
41 Elfogadva 358ms 4604 KiB
42 Elfogadva 1.151s 4612 KiB
43 Elfogadva 1.31s 4824 KiB
44 Elfogadva 1.442s 4820 KiB
45 Elfogadva 1.287s 4784 KiB
46 Elfogadva 342ms 4776 KiB
47 Elfogadva 555ms 4784 KiB
48 Elfogadva 10ms 4932 KiB
49 Elfogadva 888ms 4892 KiB
50 Elfogadva 418ms 4884 KiB