社区讨论
初学OI,萌新求助
P2312[NOIP 2014 提高组] 解方程参与者 5已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mi7db8rg
- 此快照首次捕获于
- 2025/11/20 19:48 4 个月前
- 此快照最后确认于
- 2025/11/20 19:48 4 个月前
CPP
#include <bits/stdc++.h>
#define rg register
#define il inline
#define gc getchar
typedef long long LL;
const LL MOD = 1000000007;
const LL MAXN = 110;
const LL MAXM = 1e6 + 10;
using namespace std;
LL n,m,i,j,k,cnt,sum;
LL a[MAXN];
LL ans[MAXM];
il LL read() {
LL res = 0;char c;bool sign = false;
for(c = gc();!isdigit(c);c = gc()) sign |= c == '-';
for(;isdigit(c);c = gc()) res = (res << 1) + (res << 3) + (c ^ 48);
return sign ? -res : res;
}
il bool can(LL ck_num) {
LL sum = 0;
for(rg LL i = n;i >= 1;i--) {
sum = ((a[i] + sum) * ck_num) % MOD;
}sum = (a[0] + sum) % MOD;
return !sum ? true : false;
}
int main() {
n = read();m = read();
for(i = 0;i <= n;i++) a[i] = read();
for(i = 1;i <= m;i++) {
if(can(i)) ans[++cnt] = i;
}
if(!cnt) return printf("0\n"),0;
printf("%lld\n",1LL * cnt);
for(i = 1;i <= cnt;i++) printf("%lld\n",1LL * ans[i]);
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...