QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#729369 | #7866. Teleportation | LuCiiiD | WA | 1ms | 4164kb | C++23 | 1.0kb | 2024-11-09 16:59:56 | 2024-11-09 16:59:58 |
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};
queue<pair<int, int>> que;
que.push({1, a[0]});
while (que.size())
{
int nowstep = que.front().first, now = que.front().second;
que.pop();
if (!vis[(now + 1) % N])
{
vis[(now + 1) % N] = 1, que.push({nowstep + 1, (now + 1) % N});
if ((now + 1) % N == X)
return nowstep + 1;
}
if (!vis[(now + a[now]) % N])
{
vis[(now + a[now]) % N], que.push({nowstep + 1, (now + a[now]) % N});
if ((now + a[now]) % N == X)
return nowstep + 1;
}
}
return inf;
}
signed main()
{
_11037_
cin >> N >> X;
for (int i = 0; i < N; i++)
cin >> a[i];
cout << BFS(0) << endl;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 4000kb
input:
4 3 0 1 2 3
output:
4
result:
ok 1 number(s): "4"
Test #2:
score: 0
Accepted
time: 1ms
memory: 4164kb
input:
4 3 0 0 0 0
output:
4
result:
ok 1 number(s): "4"
Test #3:
score: 0
Accepted
time: 1ms
memory: 3928kb
input:
4 3 2 2 2 2
output:
2
result:
ok 1 number(s): "2"
Test #4:
score: 0
Accepted
time: 1ms
memory: 4004kb
input:
2 1 0 0
output:
2
result:
ok 1 number(s): "2"
Test #5:
score: -100
Wrong Answer
time: 1ms
memory: 3936kb
input:
2 1 1 1
output:
3
result:
wrong answer 1st numbers differ - expected: '1', found: '3'