10625 | 2024-04-06 23:46:17 | 111 | Tömbök előállítása | cpp17 | Futási hiba 52/100 | 532ms | 5424 KiB |
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define MOD 1000000007
using vec=array<int,100>;
using mat=array<array<int,100>,100>;
mat operator*(mat a,mat b){
mat r{};
for(int i=0;i<100;i++){
for(int j=0;j<100;j++){
for(int k=0;k<100;k++){
r[i][j]+=a[i][k]*b[k][j];
r[i][j]%=MOD;
}
}
}
return r;
}
vec operator*(vec a,mat b){
vec r{};
for(int i=0;i<100;i++){
for(int j=0;j<100;j++){
r[i]+=r[j]*b[i][j];
r[i]%=MOD;
}
}
return r;
}
mat mat_pow(mat x,int p){
mat r{};
for(int i=0;i<100;i++){
r[i][i]=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,M,L,R,K;
cin>>N>>M>>L>>R>>K;
vector<int>v(M);
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;
}
mat x{};
for(int i=0;i<M;i++){
for(int j=0;j<M;j++){
x[i][j]=v[(j-i+M)%M];
}
}
mat ans{};
ans[0][0]=1;
ans=ans*mat_pow(x,N);
cout<<ans[0][K]<<'\n';
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 26ms | 2964 KiB | ||||
2 | Elfogadva | 30ms | 3252 KiB | ||||
3 | Elfogadva | 64ms | 3692 KiB | ||||
subtask2 | 10/10 | ||||||
4 | Elfogadva | 30ms | 3760 KiB | ||||
5 | Elfogadva | 30ms | 3988 KiB | ||||
6 | Elfogadva | 30ms | 4092 KiB | ||||
subtask3 | 10/10 | ||||||
7 | Elfogadva | 70ms | 4116 KiB | ||||
8 | Elfogadva | 93ms | 4496 KiB | ||||
9 | Elfogadva | 86ms | 4732 KiB | ||||
10 | Elfogadva | 115ms | 5036 KiB | ||||
11 | Elfogadva | 109ms | 4760 KiB | ||||
12 | Elfogadva | 109ms | 4712 KiB | ||||
13 | Elfogadva | 115ms | 4720 KiB | ||||
subtask4 | 7/7 | ||||||
14 | Elfogadva | 115ms | 4844 KiB | ||||
15 | Elfogadva | 120ms | 4860 KiB | ||||
16 | Elfogadva | 104ms | 5120 KiB | ||||
17 | Elfogadva | 75ms | 5068 KiB | ||||
18 | Elfogadva | 82ms | 5076 KiB | ||||
19 | Elfogadva | 104ms | 5080 KiB | ||||
20 | Elfogadva | 115ms | 5200 KiB | ||||
subtask5 | 0/8 | ||||||
21 | Futási hiba | 4ms | 4616 KiB | ||||
22 | Futási hiba | 4ms | 4812 KiB | ||||
23 | Futási hiba | 4ms | 4636 KiB | ||||
24 | Futási hiba | 4ms | 4720 KiB | ||||
25 | Hibás válasz | 76ms | 5236 KiB | ||||
26 | Hibás válasz | 64ms | 5236 KiB | ||||
27 | Futási hiba | 4ms | 4656 KiB | ||||
28 | Hibás válasz | 93ms | 5252 KiB | ||||
29 | Futási hiba | 4ms | 4812 KiB | ||||
30 | Futási hiba | 4ms | 4780 KiB | ||||
subtask6 | 25/25 | ||||||
31 | Elfogadva | 481ms | 5372 KiB | ||||
32 | Elfogadva | 481ms | 5268 KiB | ||||
33 | Elfogadva | 532ms | 5280 KiB | ||||
34 | Elfogadva | 515ms | 5284 KiB | ||||
35 | Elfogadva | 250ms | 5292 KiB | ||||
36 | Elfogadva | 261ms | 5292 KiB | ||||
37 | Elfogadva | 481ms | 5296 KiB | ||||
38 | Elfogadva | 284ms | 5300 KiB | ||||
39 | Elfogadva | 289ms | 5308 KiB | ||||
40 | Elfogadva | 509ms | 5424 KiB | ||||
subtask7 | 0/40 | ||||||
41 | Futási hiba | 4ms | 4720 KiB | ||||
42 | Futási hiba | 7ms | 4880 KiB | ||||
43 | Futási hiba | 7ms | 4844 KiB | ||||
44 | Futási hiba | 7ms | 4740 KiB | ||||
45 | Futási hiba | 7ms | 4744 KiB | ||||
46 | Futási hiba | 6ms | 4960 KiB | ||||
47 | Futási hiba | 6ms | 4888 KiB | ||||
48 | Elfogadva | 312ms | 5412 KiB | ||||
49 | Futási hiba | 6ms | 4984 KiB | ||||
50 | Futási hiba | 4ms | 4952 KiB |