이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <stdio.h>
#define MOD 1000000007ll
#define N 1000005
int p2[N];
long long n, k;
long long a(long long k,long long l,long long r,int d)
{
if(d==n)return 1;
if(k&1) return a((k+1)/2, l, r-1, d+1) % MOD;
else return (a(k/2, l+1, r, d+1) + p2[n-1-d]) % MOD;
}
int main()
{
p2[0]=1;for(int i=1;i<N;++i)p2[i]=(p2[i-1]<<1)%MOD;
scanf("%lld%lld",&n,&k);
printf("%lld",a(k,0,n,0));
}
컴파일 시 표준 에러 (stderr) 메시지
rack.c: In function 'main':
rack.c:18:5: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
18 | scanf("%lld%lld",&n,&k);
| ^~~~~~~~~~~~~~~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |