QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#864247#9680. 数字变换L_Hospital_#6 6646ms84672kbC++14843b2025-01-20 12:49:232025-01-20 12:49:24

Judging History

你现在查看的是最新测评结果

  • [2025-01-20 12:49:24]
  • 评测
  • 测评结果:6
  • 用时:6646ms
  • 内存:84672kb
  • [2025-01-20 12:49:23]
  • 提交

answer

#include<bits/stdc++.h>
# define int long long
# define rep(i, j, k) for (signed i = j; i <= k; ++i)
# define N 5000100
# define mod 998244353
using namespace std;

int l, r, B, dp[N + 5], tmp[N + 5], ans[N + 5];
signed main()
{
	ios::sync_with_stdio(false); cin.tie(0), cout.tie(0);
	cin >> l >> r >> B;
	dp[1] = ans[1] = 1;
	while (B--)
	{
		for (int i = 1; i < N; i += 4) tmp[i] = dp[i - 1] + dp[i + 1], tmp[i + 1] = dp[i] + dp[i + 2], tmp[i + 2] = dp[i + 1] + dp[i + 3], tmp[i + 3] = dp[i + 2] + dp[i + 4];
		rep(i, 1, (N >> 1)) for (int j = 2 * i; j <= N; j += i) tmp[j] += dp[i];
		for (int i = 1; i < N; i += 4) dp[i] = tmp[i] % mod, dp[i + 1] = tmp[i + 1] % mod, dp[i + 2] = tmp[i + 2] % mod, dp[i + 3] = tmp[i + 3] % mod;
		rep(i, l, r) ans[i] += dp[i];
	}
	rep(i, l, r) cout << ans[i] % mod << ' ';
	return 0;
}

详细

Subtask #1:

score: 6
Accepted

Test #1:

score: 6
Accepted
time: 518ms
memory: 82752kb

input:

1 10 3

output:

4 10 11 13 14 16 15 18 19 16 

result:

ok 10 numbers

Test #2:

score: 6
Accepted
time: 1820ms
memory: 82404kb

input:

1 10 10

output:

1446 3555 5399 8364 9365 13867 13268 18455 18559 22035 

result:

ok 10 numbers

Test #3:

score: 6
Accepted
time: 182ms
memory: 82920kb

input:

1 10 1

output:

1 2 1 1 1 1 1 1 1 1 

result:

ok 10 numbers

Test #4:

score: 6
Accepted
time: 1683ms
memory: 82536kb

input:

4 9 10

output:

8364 9365 13867 13268 18455 18559 

result:

ok 6 numbers

Subtask #2:

score: 0
Time Limit Exceeded

Dependency #1:

100%
Accepted

Test #5:

score: 18
Accepted
time: 6646ms
memory: 84672kb

input:

970000 1000000 40

output:

503190413 403501814 423543367 667735332 309717676 941521375 469059575 651585751 638081530 319769570 829344038 710448046 491906657 837995934 191992080 435477208 965318020 224310119 82608430 311469551 397529653 845900371 993051834 218739898 720518121 555742487 850145833 86074414 994934100 233037792 83...

result:

ok 30001 numbers

Test #6:

score: 0
Time Limit Exceeded

input:

961235 991235 40

output:


result:


Subtask #3:

score: 0
Skipped

Dependency #2:

0%

Subtask #4:

score: 0
Runtime Error

Test #11:

score: 0
Runtime Error

input:

3000000000 3000000000 4

output:


result:


Subtask #5:

score: 0
Skipped

Dependency #3:

0%

Subtask #6:

score: 0
Skipped

Dependency #5:

0%

Subtask #7:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%