답안 #769288

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
769288 2023-06-29T11:30:18 Z Ahmed57 Jakarta Skyscrapers (APIO15_skyscraper) C++17
57 / 100
128 ms 262144 KB
#include <bits/stdc++.h>
//#include "game.h"
using namespace std;
vector<long long> ind[30001];
long long len[30001];
long long n,m;
long long nah;
long long d(int b){
    long long cost[n+1][n+1];
    for(int i = 0;i<=n;i++)for(int j = 0;j<=n;j++)cost[i][j] = 1e18;
    priority_queue<pair<long long,pair<long long,long long>>> q1;
    q1.push({0,{len[0],b}});
    cost[len[0]][b] = 0;
    while(!q1.empty()){
        long long co = q1.top().first*-1;
        long long lin = q1.top().second.first;
        long long indx = q1.top().second.second;
        //cout<<lin<<" "<<indx<<"\n";
        q1.pop();
        if(co>cost[lin][indx]) continue ;
        for(auto i:ind[indx]){
            if(cost[len[i]][indx]>(cost[lin][indx])){
                cost[len[i]][indx] = (cost[lin][indx]);
                q1.push({cost[len[i]][indx]*-1,{len[i],indx}});
            }
        }
        if(indx+lin>=0&&indx+lin<n){
            if(cost[lin][indx+lin]>(cost[lin][indx]+1)){
               cost[lin][indx+lin] = (cost[lin][indx]+1);
               q1.push({cost[lin][indx+lin]*-1,{lin,indx+lin}});
            }
        }
        if(indx-lin>=0&&indx-lin<n){
            if(cost[lin][indx-lin]>(cost[lin][indx]+1)){
               cost[lin][indx-lin] = (cost[lin][indx]+1);
               q1.push({cost[lin][indx-lin]*-1,{lin,indx-lin}});
            }
        }
    }
    long long ans = 1e18;
    for(int i = 1;i<=n;i++){
        ans = min(ans,cost[i][nah]);
    }
    return ans;
}
int main(){
    ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    cin>>n>>m;
    long long z;
    for(int i = 0;i<m;i++){
        long long x,b;
        cin>>x>>b;
        b = min(b,n);
        if(i==1)nah = x;
        if(i==0)z = x;
        len[i] = b;
        ind[x].push_back(i);
    }
    //cout<<z<<" "<<nah<<"\n";
    long long val = d(z);
    if(val==1e18)cout<<-1<<"\n";
    else cout<<val<<"\n";
}

Compilation message

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:60:22: warning: 'z' may be used uninitialized in this function [-Wmaybe-uninitialized]
   60 |     long long val = d(z);
      |                     ~^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 980 KB Output is correct
2 Correct 1 ms 1036 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 1032 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 1 ms 1108 KB Output is correct
11 Correct 2 ms 1236 KB Output is correct
12 Correct 1 ms 1168 KB Output is correct
13 Correct 1 ms 1108 KB Output is correct
14 Correct 2 ms 1236 KB Output is correct
15 Correct 2 ms 1176 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 936 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
8 Correct 1 ms 980 KB Output is correct
9 Correct 1 ms 980 KB Output is correct
10 Correct 1 ms 1036 KB Output is correct
11 Correct 2 ms 1236 KB Output is correct
12 Correct 1 ms 1108 KB Output is correct
13 Correct 1 ms 1108 KB Output is correct
14 Correct 2 ms 1236 KB Output is correct
15 Correct 2 ms 1236 KB Output is correct
16 Correct 1 ms 1364 KB Output is correct
17 Correct 5 ms 5400 KB Output is correct
18 Correct 13 ms 24992 KB Output is correct
19 Correct 16 ms 32396 KB Output is correct
20 Correct 17 ms 32468 KB Output is correct
21 Correct 1 ms 2260 KB Output is correct
22 Correct 13 ms 25812 KB Output is correct
23 Correct 12 ms 21076 KB Output is correct
24 Correct 16 ms 29420 KB Output is correct
25 Correct 17 ms 32396 KB Output is correct
26 Correct 18 ms 32316 KB Output is correct
27 Correct 20 ms 32324 KB Output is correct
28 Correct 16 ms 32404 KB Output is correct
29 Correct 21 ms 32400 KB Output is correct
30 Correct 18 ms 32396 KB Output is correct
31 Correct 19 ms 32336 KB Output is correct
32 Correct 18 ms 32340 KB Output is correct
33 Correct 29 ms 32432 KB Output is correct
34 Correct 29 ms 32528 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 1036 KB Output is correct
4 Correct 1 ms 1040 KB Output is correct
5 Correct 1 ms 1036 KB Output is correct
6 Correct 1 ms 1032 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 1 ms 1108 KB Output is correct
11 Correct 2 ms 1236 KB Output is correct
12 Correct 1 ms 1108 KB Output is correct
13 Correct 1 ms 1108 KB Output is correct
14 Correct 2 ms 1236 KB Output is correct
15 Correct 2 ms 1236 KB Output is correct
16 Correct 1 ms 1296 KB Output is correct
17 Correct 5 ms 5460 KB Output is correct
18 Correct 13 ms 24916 KB Output is correct
19 Correct 16 ms 32340 KB Output is correct
20 Correct 16 ms 32468 KB Output is correct
21 Correct 2 ms 2196 KB Output is correct
22 Correct 14 ms 25872 KB Output is correct
23 Correct 12 ms 21044 KB Output is correct
24 Correct 17 ms 29420 KB Output is correct
25 Correct 16 ms 32452 KB Output is correct
26 Correct 16 ms 32432 KB Output is correct
27 Correct 16 ms 32428 KB Output is correct
28 Correct 16 ms 32376 KB Output is correct
29 Correct 22 ms 32416 KB Output is correct
30 Correct 19 ms 32348 KB Output is correct
31 Correct 19 ms 32412 KB Output is correct
32 Correct 18 ms 32336 KB Output is correct
33 Correct 29 ms 32468 KB Output is correct
34 Correct 28 ms 32432 KB Output is correct
35 Correct 37 ms 18416 KB Output is correct
36 Correct 8 ms 10580 KB Output is correct
37 Correct 59 ms 31964 KB Output is correct
38 Correct 80 ms 33992 KB Output is correct
39 Correct 69 ms 34184 KB Output is correct
40 Correct 75 ms 34152 KB Output is correct
41 Correct 73 ms 34100 KB Output is correct
42 Correct 20 ms 33108 KB Output is correct
43 Correct 24 ms 33080 KB Output is correct
44 Correct 18 ms 33088 KB Output is correct
45 Correct 92 ms 34108 KB Output is correct
46 Correct 91 ms 34020 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1036 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 1036 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 1044 KB Output is correct
8 Correct 1 ms 980 KB Output is correct
9 Correct 1 ms 980 KB Output is correct
10 Correct 1 ms 1108 KB Output is correct
11 Correct 2 ms 1236 KB Output is correct
12 Correct 1 ms 1108 KB Output is correct
13 Correct 1 ms 1108 KB Output is correct
14 Correct 2 ms 1172 KB Output is correct
15 Correct 2 ms 1236 KB Output is correct
16 Correct 1 ms 1364 KB Output is correct
17 Correct 5 ms 5508 KB Output is correct
18 Correct 12 ms 24972 KB Output is correct
19 Correct 17 ms 32308 KB Output is correct
20 Correct 19 ms 32468 KB Output is correct
21 Correct 2 ms 2196 KB Output is correct
22 Correct 14 ms 25812 KB Output is correct
23 Correct 12 ms 21064 KB Output is correct
24 Correct 17 ms 29424 KB Output is correct
25 Correct 17 ms 32412 KB Output is correct
26 Correct 17 ms 32444 KB Output is correct
27 Correct 17 ms 32444 KB Output is correct
28 Correct 17 ms 32408 KB Output is correct
29 Correct 22 ms 32392 KB Output is correct
30 Correct 20 ms 32312 KB Output is correct
31 Correct 18 ms 32340 KB Output is correct
32 Correct 18 ms 32340 KB Output is correct
33 Correct 28 ms 32452 KB Output is correct
34 Correct 32 ms 32464 KB Output is correct
35 Correct 37 ms 18468 KB Output is correct
36 Correct 8 ms 10580 KB Output is correct
37 Correct 57 ms 31948 KB Output is correct
38 Correct 74 ms 34112 KB Output is correct
39 Correct 70 ms 34108 KB Output is correct
40 Correct 70 ms 34132 KB Output is correct
41 Correct 73 ms 34108 KB Output is correct
42 Correct 19 ms 33108 KB Output is correct
43 Correct 23 ms 33096 KB Output is correct
44 Correct 19 ms 33124 KB Output is correct
45 Correct 94 ms 34000 KB Output is correct
46 Correct 91 ms 34076 KB Output is correct
47 Runtime error 128 ms 262144 KB Execution killed with signal 9
48 Halted 0 ms 0 KB -