답안 #335250

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
335250 2020-12-11T17:28:41 Z hivakarami Jakarta Skyscrapers (APIO15_skyscraper) C++14
0 / 100
8 ms 7552 KB
#include<bits/stdc++.h>
 
using namespace std;
 
typedef long long int ll;
typedef long double doublel;
#define f first
#define s second
 
const int N = 3e5 + 100;
const ll base = 313;
const ll mod = 1e9 + 9;	
const int inf = 1e8;	

int dis[N], b[N];
vector<int> adj[N];
priority_queue<pair<int, int>> q;

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

	int n, m;
	cin >> n >> m;
	
	for(int i = 0; i < m; i++)
	{
		int p;
		cin >> b[i] >> p;
		adj[b[i]].push_back(p);
	}
	
	for(int i = 0; i < n; i++)	
		dis[i] = inf;
	dis[b[0]] = 0;
	
	q.push({0, b[0]});	
	
	while(!q.empty())
	{	
		int x = q.top().s;
		q.pop();
		
		for(auto p : adj[x])
		{
			int c = 1;
			for(int i = x+p; i < n; i += p)
			{
				if(dis[i] > dis[x] + c)
				{
					dis[i] = dis[x] + c;
					q.push({-dis[i], i});
				}
				
				c++;
			}
			c = 1;	
			for(int i = x-p; i >= 0; i -= p)
			{
				if(dis[i] > dis[x] + c)
				{
					dis[i] = dis[x] + c;
					q.push({-dis[i], i});
				}
				
				c++;
			}
		}
		
	}
	
	
	if(dis[1] >= inf)
		dis[1] = -1;
	cout << dis[1] << endl;	
	
	
	

    return 0;
}

 
 	





 
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 7404 KB Output is correct
2 Correct 5 ms 7404 KB Output is correct
3 Incorrect 5 ms 7404 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 7404 KB Output is correct
2 Correct 5 ms 7404 KB Output is correct
3 Incorrect 5 ms 7404 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 7404 KB Output is correct
2 Correct 6 ms 7404 KB Output is correct
3 Incorrect 5 ms 7404 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 7404 KB Output is correct
2 Correct 5 ms 7404 KB Output is correct
3 Incorrect 8 ms 7404 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 7404 KB Output is correct
2 Correct 5 ms 7404 KB Output is correct
3 Incorrect 7 ms 7552 KB Output isn't correct
4 Halted 0 ms 0 KB -