社区讨论
FAOI-R2 B 20pts 求调
学术版参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @lquxvw2n
- 此快照首次捕获于
- 2024/01/01 21:11 2 年前
- 此快照最后确认于
- 2024/01/02 12:30 2 年前
Subtask 2 大概半对。
只用知道 60pts 的正确写法,不用正解,感谢。
#include<iostream>
#include<algorithm>
#define ll long long
using namespace std;
const ll maxn = 1e5 + 5;
const ll mod = 1e9 + 7;
ll read(){
char ch;
ll f = 0, r = 0;
ch = getchar();
while(ch > '9' || ch < '0') f |= ch == '-', ch = getchar();
while(ch <= '9' && ch >= '0') r = (r << 3) + (r << 1) + (ch ^ 48), ch = getchar();
return f ? -r : r;
}
ll n = read(), m = read(), f[maxn], sum[maxn], x, mn = mod;
int main(){
for(int i = 1; i <= m; ++i) x = read(), f[x]++, mn = min(mn, x);
for(int i = mn; i <= n; ++i) f[i] = (f[i] + sum[i - 1] - sum[(i - 1) / 2]) % mod, sum[i] = (sum[i - 1] + f[i]) % mod;
printf("%lld", f[n]);
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...