제출 #20877

#제출 시각아이디문제언어결과실행 시간메모리
20877jjwdi0생일수 I (GA4_birthday1)C++11
100 / 100
263 ms16740 KiB
#include <stdio.h>
#define INF 987654321
int dp[1000035][4], test, a[3]={3, 5, 8};
main()
{
	scanf("%d", &test);
	for(int i=0; i<=1000000; i++)dp[i][0]=INF;
	dp[3][0]=dp[3][1]=dp[5][0]=dp[5][2]=dp[8][0]=dp[8][3]=1;
	for(int i=0; i<=999997; i++)
	{
		if(dp[i][0]!=INF)
		{
			for(int j=0; j<3; j++)
			{
				if(dp[i+a[j]][0]>dp[i][0]+1)
				{
					for(int k=1; k<=3; k++)dp[i+a[j]][k]=dp[i][k];
					dp[i+a[j]][0]=dp[i][0]+1;
					dp[i+a[j]][j+1]++;
				}
			}
		}
	}
	while(test--)
	{
		int n;
		scanf("%d", &n);
		if(dp[n][0]==INF)puts("-1");
		else
		{
			for(int i=0; i<dp[n][1]; i++)printf("3");
			for(int i=0; i<dp[n][2]; i++)printf("5");
			for(int i=0; i<dp[n][3]; i++)printf("8");
			puts("");
		}
	}
}

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

birthday1.cpp:4:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main()
      ^
birthday1.cpp: In function 'int main()':
birthday1.cpp:6:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &test);
                    ^
birthday1.cpp:27:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &n);
                  ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...