제출 #22688

#제출 시각아이디문제언어결과실행 시간메모리
22688PurpleNoon backward compatibility (#40)Fully Generate (KRIII5_FG)C++98
0 / 7
0 ms626896 KiB
#include<stdio.h>
long long int b[80000000];
long long int cnt=1,bb[100000],t=0,j;
long long int asd(long long int i,long long int y){
	t=0; cnt=1;
	while(y!=0){t++; bb[t]=y%2; y/=2;}
	for(j=t;j>=1;j--){
		if(bb[j]==1) cnt*=i;
		cnt%=1000000007;
		if(j!=1) cnt*=cnt;
		cnt%=1000000007;
	}
	return cnt;
}
int main(){
	long long int n,i,x,y,t,f=0,cnt=0,count=0;
	scanf("%lld",&n);
	t=1;
	if(n==1){printf("1"); return 0;}
	x=1; y=1;
	cnt=1;
	while(t<=n){
		x++;
		if(f%2==0) y++;
		t+=x*y;
		f++;
		cnt+=y;
	}
	t-=(x*y);
	cnt-=y;
	count=1;
	for(i=cnt;i>=1;i--) {count*=i; count%=1000000007;b[i]=count;}
	long long int xx=1,ccount=1,yy=1,flag=0;
	while(xx<=cnt){
		flag++;
		ccount*=b[xx];
		ccount%=1000000007;
		if(flag%2==0) yy++;
		xx+=yy;
	}
	n-=t;
	i=cnt+1;
	while(1){
		if(n<=0) break;
		if(n>x) ccount*=asd(i,x); else ccount*=asd(i,n);
		ccount%=1000000007;
		n-=x;
		i++;
	}
	printf("%lld",ccount);
	return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

FG.cpp: In function 'int main()':
FG.cpp:17:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld",&n);
                  ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...