이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <stdio.h>
struct X {
int three;
int five;
int eight;
int sum;
} x[1000001];
int main(void)
{
int T, n, i;
x[3].three = 1;
x[3].sum = 1;
x[5].five = 1;
x[5].sum = 1;
x[6].three = 2;
x[6].sum = 2;
x[8].eight = 1;
x[8].sum = 1;
for(i = 9; i <= 1000000; i++)
{
if(x[i - 3].sum)
{
x[i] = x[i - 3];
x[i].three++;
}
if(x[i - 5].sum && (x[i].sum == 0 || x[i - 5].sum < x[i].sum))
{
x[i] = x[i - 5];
x[i].five++;
}
if(x[i - 8].sum && (x[i].sum == 0 || x[i - 8].sum < x[i].sum))
{
x[i] = x[i - 8];
x[i].eight++;
}
x[i].sum++;
}
scanf("%d", &T);
while(T--)
{
scanf("%d", &n);
if(x[n].sum)
{
for(i = 0; i < x[n].three; i++)
printf("3");
for(i = 0; i < x[n].five; i++)
printf("5");
for(i = 0; i < x[n].eight; i++)
printf("8");
}
else
printf("-1");
printf("\n");
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |