Submission #695151

# Submission time Handle Problem Language Result Execution time Memory
695151 2023-02-04T18:47:47 Z Cyber_Wolf Jakarta Skyscrapers (APIO15_skyscraper) C++14
10 / 100
14 ms 21716 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;
}

Compilation message

skyscraper.cpp: In function 'void dijkstra(long long int)':
skyscraper.cpp:31:12: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   31 |   for(auto [it, c] : adj[x])
      |            ^
# 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 9 ms 21460 KB Output is correct
4 Correct 9 ms 21460 KB Output is correct
5 Correct 9 ms 21460 KB Output is correct
6 Correct 9 ms 21464 KB Output is correct
7 Correct 10 ms 21460 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 10 ms 21376 KB Output is correct
2 Correct 9 ms 21348 KB Output is correct
3 Correct 13 ms 21540 KB Output is correct
4 Correct 10 ms 21460 KB Output is correct
5 Correct 9 ms 21444 KB Output is correct
6 Correct 10 ms 21440 KB Output is correct
7 Correct 10 ms 21460 KB Output is correct
8 Correct 11 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 11 ms 21716 KB Output is correct
12 Incorrect 11 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 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 11 ms 21460 KB Output is correct
6 Correct 10 ms 21448 KB Output is correct
7 Correct 10 ms 21460 KB Output is correct
8 Correct 10 ms 21460 KB Output is correct
9 Correct 10 ms 21460 KB Output is correct
10 Correct 10 ms 21492 KB Output is correct
11 Correct 11 ms 21716 KB Output is correct
12 Incorrect 11 ms 21428 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 10 ms 21376 KB Output is correct
2 Correct 9 ms 21460 KB Output is correct
3 Correct 10 ms 21360 KB Output is correct
4 Correct 11 ms 21384 KB Output is correct
5 Correct 10 ms 21460 KB Output is correct
6 Correct 14 ms 21416 KB Output is correct
7 Correct 11 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 12 ms 21568 KB Output is correct
11 Correct 11 ms 21696 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 21364 KB Output is correct
2 Correct 10 ms 21460 KB Output is correct
3 Correct 10 ms 21460 KB Output is correct
4 Correct 11 ms 21460 KB Output is correct
5 Correct 11 ms 21356 KB Output is correct
6 Correct 9 ms 21460 KB Output is correct
7 Correct 10 ms 21460 KB Output is correct
8 Correct 10 ms 21400 KB Output is correct
9 Correct 10 ms 21460 KB Output is correct
10 Correct 10 ms 21460 KB Output is correct
11 Correct 11 ms 21716 KB Output is correct
12 Incorrect 12 ms 21440 KB Output isn't correct
13 Halted 0 ms 0 KB -