ABC278A 题解

· · 题解

整合题解。

A 题,送分题。

思路

数据范围很小,其实直接模拟也是可以通过的。

不过我们很容易想到 O(n) 的算法。

对于前 k 个数,不输出,其他数正常输出。

然后再在末尾补上 k0

容易发现,这样也是正确的。只要特判一下 k \ge n 的情况就行了,这个时候全部输出 0

代码

省去了大段的缺省源。

void solve()
{
    int n, k;
    scanf("%d%d", &n, &k);
    if (k >= n)
    {
        for (int i = 1; i <= n; i++) printf("0 ");
        puts("");
        exit(0);
    }
    for (int i = 1; i <= n; i++)
    {
        int x;
        scanf("%d", &x);
        if (i > k) printf("%d ", x);
    }
    while (k--) printf("0 ");
    puts("");
}