답안 #789387

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
789387 2023-07-21T10:10:11 Z ThMinh_ Jakarta Skyscrapers (APIO15_skyscraper) C++14
36 / 100
1000 ms 33264 KB
#include<bits/stdc++.h>
#define forin(i, a, b) for(int i = a; i <= b; ++i)
#define ii pair<int, int>
using namespace std;
const int N = 3e4 + 10;
int n, m;
int b[N], p[N], d[N];
vector<ii> adj[N];
void dijkstra(int s) {
    priority_queue<ii, vector<ii>, greater<ii> > pq;
    fill(d + 1, d + m + 1, 1e9);
    pq.push({0, s});
    d[s] = 0;
    while(!pq.empty()) {
        int kc, u; tie(kc, u) = pq.top();
        pq.pop();
        if(kc != d[u]) continue;
        for(auto e : adj[u]) {
            int w, v; tie(w, v) = e;
            if(d[v] <= d[u] + w) continue;
            d[v] = d[u] + w;
            pq.push({d[v], v});
        }
    }
}
int main () {
    cin.tie(0)->sync_with_stdio(0);
    if(fopen("Task.inp","r")) {
        freopen("Task.inp","r",stdin);
        freopen("WA.out","w",stdout);
    }
    cin>>n>>m;
    forin(i, 1, m) cin>>b[i]>>p[i];
    forin(i, 1, m) forin(j, 1, m) if(i != j) {
        bool ok = ((b[j] - b[i]) % p[i] == 0);
        if(ok) {
            int w = abs(b[j] - b[i]) / p[i];
            adj[i].push_back({w, j});
        }
    }
    dijkstra(1);
    if(d[2] == 1e9) cout<<-1;
    else cout<<d[2];
}

Compilation message

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:29:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   29 |         freopen("Task.inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:30:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   30 |         freopen("WA.out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Correct 1 ms 980 KB Output is correct
4 Correct 1 ms 980 KB Output is correct
5 Correct 1 ms 980 KB Output is correct
6 Correct 1 ms 980 KB Output is correct
7 Correct 1 ms 980 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 1028 KB Output is correct
3 Correct 1 ms 980 KB Output is correct
4 Correct 1 ms 980 KB Output is correct
5 Correct 1 ms 980 KB Output is correct
6 Correct 1 ms 980 KB Output is correct
7 Correct 1 ms 980 KB Output is correct
8 Correct 1 ms 980 KB Output is correct
9 Correct 1 ms 980 KB Output is correct
10 Correct 2 ms 1108 KB Output is correct
11 Correct 22 ms 3212 KB Output is correct
12 Correct 56 ms 32904 KB Output is correct
13 Correct 57 ms 33100 KB Output is correct
14 Correct 21 ms 2536 KB Output is correct
15 Correct 21 ms 2512 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Correct 1 ms 980 KB Output is correct
4 Correct 1 ms 980 KB Output is correct
5 Correct 1 ms 980 KB Output is correct
6 Correct 1 ms 1032 KB Output is correct
7 Correct 1 ms 980 KB Output is correct
8 Correct 1 ms 980 KB Output is correct
9 Correct 1 ms 980 KB Output is correct
10 Correct 2 ms 1032 KB Output is correct
11 Correct 22 ms 3188 KB Output is correct
12 Correct 56 ms 32972 KB Output is correct
13 Correct 57 ms 33104 KB Output is correct
14 Correct 21 ms 2564 KB Output is correct
15 Correct 21 ms 2508 KB Output is correct
16 Correct 5 ms 1236 KB Output is correct
17 Correct 16 ms 1680 KB Output is correct
18 Correct 5 ms 1108 KB Output is correct
19 Correct 3 ms 1040 KB Output is correct
20 Correct 67 ms 33100 KB Output is correct
21 Correct 7 ms 1108 KB Output is correct
22 Correct 3 ms 980 KB Output is correct
23 Correct 5 ms 1040 KB Output is correct
24 Correct 17 ms 1236 KB Output is correct
25 Correct 19 ms 1172 KB Output is correct
26 Correct 54 ms 30088 KB Output is correct
27 Correct 55 ms 30924 KB Output is correct
28 Correct 19 ms 1236 KB Output is correct
29 Correct 4 ms 1236 KB Output is correct
30 Correct 1 ms 1032 KB Output is correct
31 Correct 2 ms 1108 KB Output is correct
32 Correct 2 ms 1108 KB Output is correct
33 Correct 22 ms 2532 KB Output is correct
34 Correct 21 ms 2444 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Correct 1 ms 1032 KB Output is correct
4 Correct 1 ms 980 KB Output is correct
5 Correct 1 ms 980 KB Output is correct
6 Correct 1 ms 1028 KB Output is correct
7 Correct 1 ms 1032 KB Output is correct
8 Correct 1 ms 980 KB Output is correct
9 Correct 1 ms 980 KB Output is correct
10 Correct 2 ms 1108 KB Output is correct
11 Correct 22 ms 3148 KB Output is correct
12 Correct 57 ms 32888 KB Output is correct
13 Correct 64 ms 33264 KB Output is correct
14 Correct 22 ms 2516 KB Output is correct
15 Correct 21 ms 2516 KB Output is correct
16 Correct 4 ms 1236 KB Output is correct
17 Correct 16 ms 1620 KB Output is correct
18 Correct 5 ms 1108 KB Output is correct
19 Correct 2 ms 980 KB Output is correct
20 Correct 65 ms 33100 KB Output is correct
21 Correct 7 ms 1108 KB Output is correct
22 Correct 3 ms 980 KB Output is correct
23 Correct 5 ms 1036 KB Output is correct
24 Correct 18 ms 1244 KB Output is correct
25 Correct 20 ms 1172 KB Output is correct
26 Correct 53 ms 30148 KB Output is correct
27 Correct 60 ms 30924 KB Output is correct
28 Correct 19 ms 1236 KB Output is correct
29 Correct 4 ms 1236 KB Output is correct
30 Correct 1 ms 980 KB Output is correct
31 Correct 3 ms 1108 KB Output is correct
32 Correct 2 ms 1108 KB Output is correct
33 Correct 21 ms 2516 KB Output is correct
34 Correct 22 ms 2444 KB Output is correct
35 Execution timed out 1066 ms 12512 KB Time limit exceeded
36 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 980 KB Output is correct
3 Correct 1 ms 1108 KB Output is correct
4 Correct 1 ms 980 KB Output is correct
5 Correct 1 ms 980 KB Output is correct
6 Correct 1 ms 980 KB Output is correct
7 Correct 1 ms 980 KB Output is correct
8 Correct 1 ms 980 KB Output is correct
9 Correct 1 ms 980 KB Output is correct
10 Correct 2 ms 1108 KB Output is correct
11 Correct 22 ms 3244 KB Output is correct
12 Correct 56 ms 32972 KB Output is correct
13 Correct 55 ms 33112 KB Output is correct
14 Correct 21 ms 2452 KB Output is correct
15 Correct 22 ms 2544 KB Output is correct
16 Correct 4 ms 1236 KB Output is correct
17 Correct 16 ms 1620 KB Output is correct
18 Correct 5 ms 1040 KB Output is correct
19 Correct 3 ms 1108 KB Output is correct
20 Correct 65 ms 33060 KB Output is correct
21 Correct 7 ms 1036 KB Output is correct
22 Correct 3 ms 1064 KB Output is correct
23 Correct 5 ms 1108 KB Output is correct
24 Correct 17 ms 1236 KB Output is correct
25 Correct 19 ms 1152 KB Output is correct
26 Correct 55 ms 30164 KB Output is correct
27 Correct 55 ms 31028 KB Output is correct
28 Correct 20 ms 1228 KB Output is correct
29 Correct 4 ms 1356 KB Output is correct
30 Correct 1 ms 1032 KB Output is correct
31 Correct 3 ms 1108 KB Output is correct
32 Correct 2 ms 1108 KB Output is correct
33 Correct 21 ms 2556 KB Output is correct
34 Correct 21 ms 2544 KB Output is correct
35 Execution timed out 1083 ms 12612 KB Time limit exceeded
36 Halted 0 ms 0 KB -