Submission #695154

# Submission time Handle Problem Language Result Execution time Memory
695154 2023-02-04T18:48:12 Z Cyber_Wolf Jakarta Skyscrapers (APIO15_skyscraper) C++17
10 / 100
14 ms 21784 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;

#define lg long long
#define fastio ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
//Jakarta Skyscraper

const lg N  = 300005;

lg dist[N], in_queue[N];
vector<set<pair<lg, lg>>> adj(N);
vector<lg> b(N), p(N);

void dijkstra(lg src)
{
	priority_queue<array<lg, 2>> pq;
	pq.push({0, src});
	in_queue[src] = 1;
	memset(dist, 0x3f, sizeof(dist));
	dist[src] = 0;
	while(pq.size())
	{
		lg x = pq.top()[1];
		in_queue[x] = 0;
		pq.pop();
		for(auto [it, c] : adj[x])
		{
			if(dist[it] > dist[x]+c)
			{
				dist[it] = dist[x]+c;
				if(!in_queue[it])	pq.push({-dist[it], it});
				in_queue[it] = true;
			}
		}
	}
	return;
}


int main()
{
	fastio;
	lg n, m;
	cin >> n >> m;
	for(int i = 0; i < m; i++)
	{
		cin >> b[i] >> p[i];
	} 
	map<array<lg, 2>, lg> mp;
	for(int i = 0; i < m; i++)
	{
		lg x = b[i]%p[i];
		if(mp[{x, b[i]}])	continue;
		// cout << i << ' ';
		mp[{x, b[i]}] = true;
		for(int j = x; j < n; j += p[i])
		{
			if(j == b[i])	continue;
			adj[b[i]].insert({j, abs(b[i]-j)/p[i]});
		}
	}
	dijkstra(b[0]);
	if(dist[b[1]] == dist[N-1])
	{
		cout << "-1\n";
		return 0;
	}
	cout << dist[b[1]] << '\n';

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 11 ms 21372 KB Output is correct
2 Correct 12 ms 21460 KB Output is correct
3 Correct 11 ms 21368 KB Output is correct
4 Correct 11 ms 21460 KB Output is correct
5 Correct 12 ms 21460 KB Output is correct
6 Correct 12 ms 21356 KB Output is correct
7 Correct 11 ms 21460 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 21460 KB Output is correct
2 Correct 10 ms 21404 KB Output is correct
3 Correct 12 ms 21408 KB Output is correct
4 Correct 11 ms 21348 KB Output is correct
5 Correct 10 ms 21460 KB Output is correct
6 Correct 12 ms 21460 KB Output is correct
7 Correct 12 ms 21460 KB Output is correct
8 Correct 9 ms 21460 KB Output is correct
9 Correct 11 ms 21376 KB Output is correct
10 Correct 10 ms 21568 KB Output is correct
11 Correct 14 ms 21748 KB Output is correct
12 Incorrect 11 ms 21456 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 11 ms 21460 KB Output is correct
2 Correct 10 ms 21360 KB Output is correct
3 Correct 11 ms 21460 KB Output is correct
4 Correct 10 ms 21460 KB Output is correct
5 Correct 12 ms 21460 KB Output is correct
6 Correct 11 ms 21480 KB Output is correct
7 Correct 9 ms 21460 KB Output is correct
8 Correct 12 ms 21460 KB Output is correct
9 Correct 10 ms 21460 KB Output is correct
10 Correct 11 ms 21460 KB Output is correct
11 Correct 12 ms 21716 KB Output is correct
12 Incorrect 10 ms 21460 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 9 ms 21460 KB Output is correct
2 Correct 9 ms 21460 KB Output is correct
3 Correct 12 ms 21460 KB Output is correct
4 Correct 10 ms 21460 KB Output is correct
5 Correct 9 ms 21460 KB Output is correct
6 Correct 11 ms 21460 KB Output is correct
7 Correct 11 ms 21440 KB Output is correct
8 Correct 10 ms 21460 KB Output is correct
9 Correct 10 ms 21460 KB Output is correct
10 Correct 9 ms 21460 KB Output is correct
11 Correct 12 ms 21760 KB Output is correct
12 Incorrect 12 ms 21448 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 9 ms 21364 KB Output is correct
2 Correct 9 ms 21460 KB Output is correct
3 Correct 11 ms 21428 KB Output is correct
4 Correct 11 ms 21460 KB Output is correct
5 Correct 12 ms 21460 KB Output is correct
6 Correct 14 ms 21460 KB Output is correct
7 Correct 12 ms 21460 KB Output is correct
8 Correct 9 ms 21472 KB Output is correct
9 Correct 13 ms 21480 KB Output is correct
10 Correct 11 ms 21552 KB Output is correct
11 Correct 11 ms 21784 KB Output is correct
12 Incorrect 10 ms 21460 KB Output isn't correct
13 Halted 0 ms 0 KB -