Submission #948058

# Submission time Handle Problem Language Result Execution time Memory
948058 2024-03-17T14:32:38 Z 4QT0R Jakarta Skyscrapers (APIO15_skyscraper) C++17
22 / 100
1000 ms 143576 KB
#include <bits/stdc++.h>
using namespace std;

struct info{
	int badge;
	int cur_pos;
	int nr_of_jumps;
};

set<int> vis[30002];
deque<info> dq;
vector<int> doges[30002];
int jmp[30002];
int n,m;

void bfs01(int doge, int pos, int kon){
	dq.push_back({doge,pos,0});
	while(dq.size()){
		info now=dq.front();
		dq.pop_front();
		if (now.cur_pos==kon){
			cout << now.nr_of_jumps << '\n';
			return;
		}
		for (auto u : doges[now.cur_pos])if (vis[u].find(now.cur_pos)==vis[u].end()){
			dq.push_front({u,now.cur_pos,now.nr_of_jumps});
			vis[u].insert(now.cur_pos);
		}
		if (now.cur_pos>=jmp[now.badge] && vis[now.badge].find(now.cur_pos-jmp[now.badge])==vis[now.badge].end()){
			dq.push_back({now.badge,now.cur_pos-jmp[now.badge],now.nr_of_jumps+1});
			vis[now.badge].insert(now.cur_pos-jmp[now.badge]);
		}
		if (now.cur_pos+jmp[now.badge]<n && vis[now.badge].find(now.cur_pos+jmp[now.badge])==vis[now.badge].end()){
			dq.push_back({now.badge,now.cur_pos+jmp[now.badge],now.nr_of_jumps+1});
			vis[now.badge].insert(now.cur_pos+jmp[now.badge]);
		}
	}
	cout << "-1\n";
}

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	int b,p,st,nd;
	cin >> n >> m;
	cin >> st >> jmp[0];
	doges[st].push_back(0);
	cin >> nd >> p;
	for (int i = 2; i<m; i++){
		cin >> b >> jmp[i];
		doges[b].push_back(i);
	}
	bfs01(0,st,nd);
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2392 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 1 ms 2396 KB Output is correct
10 Correct 1 ms 2396 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
12 Correct 1 ms 2396 KB Output is correct
13 Correct 11 ms 3164 KB Output is correct
14 Correct 2 ms 2648 KB Output is correct
15 Correct 1 ms 2652 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2584 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 1 ms 2552 KB Output is correct
9 Correct 1 ms 2396 KB Output is correct
10 Correct 1 ms 2396 KB Output is correct
11 Correct 1 ms 2396 KB Output is correct
12 Correct 2 ms 2392 KB Output is correct
13 Correct 14 ms 3164 KB Output is correct
14 Correct 2 ms 2652 KB Output is correct
15 Correct 1 ms 2652 KB Output is correct
16 Correct 1 ms 2392 KB Output is correct
17 Correct 1 ms 2652 KB Output is correct
18 Correct 1 ms 2396 KB Output is correct
19 Correct 1 ms 2396 KB Output is correct
20 Execution timed out 1080 ms 140112 KB Time limit exceeded
21 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2404 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 1 ms 2648 KB Output is correct
10 Correct 1 ms 2396 KB Output is correct
11 Correct 2 ms 2396 KB Output is correct
12 Correct 1 ms 2392 KB Output is correct
13 Correct 11 ms 3284 KB Output is correct
14 Correct 2 ms 2700 KB Output is correct
15 Correct 1 ms 2652 KB Output is correct
16 Correct 1 ms 2396 KB Output is correct
17 Correct 1 ms 2652 KB Output is correct
18 Correct 1 ms 2396 KB Output is correct
19 Correct 1 ms 2396 KB Output is correct
20 Execution timed out 1101 ms 143448 KB Time limit exceeded
21 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2396 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2392 KB Output is correct
7 Correct 1 ms 2392 KB Output is correct
8 Correct 1 ms 2392 KB Output is correct
9 Correct 1 ms 2396 KB Output is correct
10 Correct 1 ms 2396 KB Output is correct
11 Correct 1 ms 2392 KB Output is correct
12 Correct 1 ms 2392 KB Output is correct
13 Correct 11 ms 3164 KB Output is correct
14 Correct 2 ms 2652 KB Output is correct
15 Correct 1 ms 2652 KB Output is correct
16 Correct 1 ms 2396 KB Output is correct
17 Correct 1 ms 2904 KB Output is correct
18 Correct 1 ms 2396 KB Output is correct
19 Correct 1 ms 2396 KB Output is correct
20 Execution timed out 1078 ms 143576 KB Time limit exceeded
21 Halted 0 ms 0 KB -