Submission #105652

# Submission time Handle Problem Language Result Execution time Memory
105652 2019-04-13T19:07:52 Z luciocf Sequence (BOI14_sequence) C++14
9 / 100
12 ms 384 KB
#include <bits/stdc++.h>

using namespace std;

const int maxn = 1e3+10;

int n;
int a[maxn];

int brute(void)
{
	for (int j = 1; j <= 1000; j++)
	{
		int v = j;	
		bool deu = 1;

		for (int i = 0; i < n; i++)
		{
			int aux = v;
			bool ok = 0;

			while (aux > 0)
			{
				if (aux%10 == a[i]) ok = 1;
				aux /= 10;
			}

			if (!ok) deu = 0;

			v++;
		}

		if (deu) return j;
	}
	return -1;
}

void solve_9(void)
{
	if (n == 1)
	{
		printf("9\n");
		return;
	}

	for (int i = 1; i <= n; i++)
	{
		int x = 1;
		for (int j = 1; j <= i; j++)
			x *= 10;

		x--; x /= 9;

		if (x >= n)
		{
			for (int j = 1; j < i; j++)
				printf("8");
			printf("9\n");
			return;
		}
	}
}

int main(void)
{
	scanf("%d", &n);

	for (int i = 0; i < n; i++)
		scanf("%d", &a[i]);

	if (n <= 1000)
	{
		printf("%d\n", brute());
		return 0;
	}

	if (a[0] == 9)
	{
		solve_9();
		return 0;
	}

	int x = 1;
	for (int i = 0; i <= 20; i++)
	{
		if (a[i] == 0)
		{
			int val = x*10-1;
			val /= 9;

			if (val >= n)
			{
				printf("10");
				for (int j = 1; j <= i; j++) printf("0\n");
				printf("\n");

				return 0;
			}
		}
		else if (x >= n)
		{
			printf("%d", a[0]);
			for (int j = 1; j <= i; j++) printf("0");
			printf("\n");

			return 0;
		}

		x *= 10;
	}
}

Compilation message

sequence.cpp: In function 'int main()':
sequence.cpp:66:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
  ~~~~~^~~~~~~~~~
sequence.cpp:69:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &a[i]);
   ~~~~~^~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 4 ms 384 KB Output is correct
3 Correct 3 ms 384 KB Output is correct
4 Correct 3 ms 384 KB Output is correct
5 Correct 2 ms 384 KB Output is correct
6 Correct 2 ms 384 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Correct 12 ms 256 KB Output is correct
9 Correct 2 ms 256 KB Output is correct
10 Correct 3 ms 384 KB Output is correct
11 Correct 3 ms 384 KB Output is correct
12 Correct 2 ms 384 KB Output is correct
13 Correct 3 ms 384 KB Output is correct
14 Correct 12 ms 256 KB Output is correct
15 Correct 12 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 5 ms 256 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 3 ms 256 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 3 ms 384 KB Output is correct
7 Incorrect 10 ms 384 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 384 KB Output is correct
2 Incorrect 2 ms 256 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 3 ms 256 KB Output is correct
5 Incorrect 2 ms 384 KB Output isn't correct
6 Halted 0 ms 0 KB -