QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#727806 | #7866. Teleportation | LuCiiiD | WA | 1ms | 4612kb | C++23 | 1.1kb | 2024-11-09 13:52:22 | 2024-11-09 13:52:23 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define _11037_ ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
#define endl '\n'
#define inf 2e9
#define MAX 100005
#define MOD 998244353
int N, X, a[MAX];
int BFS(int start)
{
int vis[MAX] = {0}, dis[MAX];
for (int i = 0; i < MAX; i++)
dis[i] = inf;
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> que;
que.push({0, 0}), dis[0] = 0, vis[0] = 1;
while (que.size())
{
int nowstep = que.top().first, now = que.top().second;
if (now == X)
return dis[X];
que.pop();
for (int i = 0; i < N; i++)
{
if (vis[(now + a[now] + i) % N])
continue;
vis[(now + a[now] + i) % N] = 1;
dis[(now + a[now] + i) % N] = min(dis[(now + a[now] + i) % N], nowstep + i + 1);
que.push({dis[(now + a[now] + i) % N], (now + a[now] + i) % N});
}
}
return dis[X];
}
signed main()
{
_11037_
cin >> N >> X;
for (int i = 0; i < N; i++)
cin >> a[i];
cout << BFS(0) << endl;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 4612kb
input:
4 3 0 1 2 3
output:
4
result:
ok 1 number(s): "4"
Test #2:
score: 0
Accepted
time: 1ms
memory: 4388kb
input:
4 3 0 0 0 0
output:
4
result:
ok 1 number(s): "4"
Test #3:
score: 0
Accepted
time: 1ms
memory: 4364kb
input:
4 3 2 2 2 2
output:
2
result:
ok 1 number(s): "2"
Test #4:
score: 0
Accepted
time: 1ms
memory: 4332kb
input:
2 1 0 0
output:
2
result:
ok 1 number(s): "2"
Test #5:
score: 0
Accepted
time: 1ms
memory: 4384kb
input:
2 1 1 1
output:
1
result:
ok 1 number(s): "1"
Test #6:
score: -100
Wrong Answer
time: 1ms
memory: 4336kb
input:
300 25 182 9 13 211 258 132 27 42 218 200 271 258 164 121 8 84 29 195 141 290 110 0 272 93 142 134 140 32 232 99 162 199 297 287 212 29 182 53 61 98 116 282 75 245 230 165 22 4 179 89 274 231 46 299 248 208 200 285 221 50 221 199 294 241 195 138 22 204 113 100 132 276 158 146 238 178 100 94 131 157 ...
output:
144
result:
wrong answer 1st numbers differ - expected: '10', found: '144'