暴力做法:
#include <cstdio>
int n, a, flag[1000005];
int main()
{
scanf("%d", &n);
while (n--)
{
scanf("%d", &a);
for (; flag[a]; ++a);
flag[a] = 1;
printf("%d ", a);
}
return 0;
}
结果它刚好超时了……
然后我加上快读快写:
#include <cstdio>
#include <cctype>
using namespace std;
int n, a, flag[1000005];
int read()
{
int num = 0;
char c = getchar();
while (!isdigit(c))
{
c = getchar();
}
while (isdigit(c))
{
num = num * 10 + c - '0';
c = getchar();
}
return num;
}
void write(int x)
{
if (x > 9)
{
write(x / 10);
}
putchar(x % 10 + '0');
}
int main()
{
n = read();
while (--n)
{
a = read();
for (; flag[a]; ++a);
flag[a] = 1;
write(a);
putchar(' ');
}
a = read();
for (; flag[a]; ++a);
flag[a] = 1;
write(a);
putchar(' ');
return 0;
}
就直接AC了。
申请加强数据QwQ。