Submission #695245

# Submission time Handle Problem Language Result Execution time Memory
695245 2023-02-04T20:16:31 Z Cyber_Wolf Jakarta Skyscrapers (APIO15_skyscraper) C++17
10 / 100
13 ms 21760 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 10 ms 21460 KB Output is correct
2 Correct 10 ms 21460 KB Output is correct
3 Correct 13 ms 21460 KB Output is correct
4 Correct 10 ms 21460 KB Output is correct
5 Correct 11 ms 21460 KB Output is correct
6 Correct 9 ms 21460 KB Output is correct
7 Correct 9 ms 21440 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 10 ms 21460 KB Output is correct
2 Correct 9 ms 21460 KB Output is correct
3 Correct 10 ms 21460 KB Output is correct
4 Correct 10 ms 21460 KB Output is correct
5 Correct 9 ms 21440 KB Output is correct
6 Correct 10 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 9 ms 21460 KB Output is correct
10 Correct 10 ms 21460 KB Output is correct
11 Correct 11 ms 21760 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 10 ms 21460 KB Output is correct
3 Correct 10 ms 21416 KB Output is correct
4 Correct 10 ms 21460 KB Output is correct
5 Correct 10 ms 21460 KB Output is correct
6 Correct 9 ms 21392 KB Output is correct
7 Correct 10 ms 21460 KB Output is correct
8 Correct 9 ms 21404 KB Output is correct
9 Correct 9 ms 21460 KB Output is correct
10 Correct 11 ms 21528 KB Output is correct
11 Correct 11 ms 21716 KB Output is correct
12 Incorrect 10 ms 21488 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 10 ms 21460 KB Output is correct
2 Correct 9 ms 21460 KB Output is correct
3 Correct 10 ms 21364 KB Output is correct
4 Correct 11 ms 21460 KB Output is correct
5 Correct 10 ms 21364 KB Output is correct
6 Correct 10 ms 21460 KB Output is correct
7 Correct 10 ms 21352 KB Output is correct
8 Correct 10 ms 21460 KB Output is correct
9 Correct 10 ms 21488 KB Output is correct
10 Correct 11 ms 21460 KB Output is correct
11 Correct 11 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 10 ms 21460 KB Output is correct
2 Correct 10 ms 21448 KB Output is correct
3 Correct 10 ms 21460 KB Output is correct
4 Correct 9 ms 21372 KB Output is correct
5 Correct 11 ms 21352 KB Output is correct
6 Correct 10 ms 21372 KB Output is correct
7 Correct 11 ms 21544 KB Output is correct
8 Correct 10 ms 21460 KB Output is correct
9 Correct 10 ms 21432 KB Output is correct
10 Correct 10 ms 21460 KB Output is correct
11 Correct 11 ms 21740 KB Output is correct
12 Incorrect 10 ms 21404 KB Output isn't correct
13 Halted 0 ms 0 KB -