This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<cstdio>
int res = 1;
int i = 1;
int e = 1;
int j = 1;
int res2 = 1;
int n= 0 , m = 0;
int gop1(int g){
for(i; i <= (g/2)+1; i++)
res = (res* i)%1000000007;
return res;
}
int gop2(int g){
e = (g/2)+2;
for(e; e<= g; e++){
res = (res* e)%1000000007;
}
return res;
}
int gop3(int g){
for(j ; j <=g/2; j++){
res2 = (res2*m)%1000000007;
}
return res2;
}
int main(){
scanf("%d %d",&n, &m);
int num = 1;
int s = m;
for(num ; num != n; num++){
if(num%2 == 1)
s = ((m+1)*s)%1000000007 ;
else{
int x1 = gop1(num);
int x2 = gop2(num);
int x3 = gop3(num);
int temp = ((x3%1000000007)*(x2/x1)%1000000007)%1000000007;
int temp2 = ((m+1)*s);
s = temp2-temp;
}
}
printf("%d", s);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |