MLE2个点,求助!
  • 板块P1900 自我数
  • 楼主Kano_zyc
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/12/1 18:25
  • 上次更新2023/12/1 20:38:39
查看原帖
MLE2个点,求助!
1076440
Kano_zyc楼主2023/12/1 18:25

rt,

#include <bits/stdc++.h>
using namespace std;
const int maxn = 10000007;
bitset<maxn> f;
vector<int> a;
int n, k, s[5005];

int d(int n) {
    int sum = n;
    while (n) {
        sum += n % 10;
        n /= 10;
    }
    return sum;
}

int main() {
    scanf("%d%d", &n, &k);
    for (int i = 1; i <= k; i++) scanf("%d", &s[i]);

    for (int i = 1; i <= n; i++) {
        if (!f[i]) a.push_back(i);
        int dn = d(i);
        if (dn < maxn) f[dn] = 1;
    }

    printf("%d\n", a.size());
    for (int i = 1; i <= k; i++) printf("%d ", a[s[i] - 1]);

    return 0;
}
2023/12/1 18:25
加载中...