Submission #787320

# Submission time Handle Problem Language Result Execution time Memory
787320 2023-07-19T05:10:33 Z christinelynn Jakarta Skyscrapers (APIO15_skyscraper) C++17
10 / 100
461 ms 262144 KB
#include <bits/stdc++.h>
#define int long long
#define fi first
#define se second
#define keish                             ios_base::sync_with_stdio(0);       cin.tie(0); cout.tie(0)
      
using namespace std;
const int mod = 1e9 + 7;

int n, m, b, p, st, ed;

signed main(){
      keish;
      cin >> n >> m;
      vector<vector<int>> e(n);
      for(int i = 0; i < m; i++){
            cin >> b >> p;
            e[b].push_back(p);
            if(i == 0) st = b;
            if(i == 1) ed = b;
      }

      vector<vector<int>> dis(n, vector<int>(2005));
      queue<pair<int, int>> q;     
      for(auto x : e[st]){
            dis[st][x] = 0;  
            q.push({st, x});
      }
      
      while(!q.empty()){
            auto [u, d] = q.front(); q.pop();

            if(u == ed){
                  cout << dis[u][d] << '\n';
                  return 0;
            }

            if(u + d < n){
                  if(dis[u + d][d] != -1){
                        dis[u + d][d] = dis[u][d] + 1;
                        q.push({u + d, d});
                  }
                  for(auto v : e[u + d]){
                        if(dis[u + d][v] != -1){
                              dis[u + d][v] = dis[u][d] + 1;
                              q.push({u + d, v});
                        }
                  }
            }

            if(u - d >= 0){
                  if(dis[u - d][d] != -1){
                        dis[u - d][d] = dis[u][d] + 1;
                        q.push({u - d, d});
                  }
                  for(auto v : e[u - d]){
                        if(dis[u - d][v] != -1){
                              dis[u - d][v] = dis[u][d] + 1;
                              q.push({u - d, v});
                        }
                  }
            }
      }

      cout << -1 << '\n';
}          
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 0 ms 468 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 1 ms 468 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 468 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 1 ms 468 KB Output is correct
8 Correct 1 ms 852 KB Output is correct
9 Correct 1 ms 1236 KB Output is correct
10 Correct 1 ms 1876 KB Output is correct
11 Correct 1 ms 1876 KB Output is correct
12 Runtime error 461 ms 262144 KB Execution killed with signal 9
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 468 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 1 ms 468 KB Output is correct
8 Correct 1 ms 852 KB Output is correct
9 Correct 1 ms 1236 KB Output is correct
10 Correct 1 ms 1876 KB Output is correct
11 Correct 2 ms 1996 KB Output is correct
12 Runtime error 434 ms 262144 KB Execution killed with signal 9
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 468 KB Output is correct
6 Correct 1 ms 468 KB Output is correct
7 Correct 1 ms 468 KB Output is correct
8 Correct 1 ms 852 KB Output is correct
9 Correct 1 ms 1236 KB Output is correct
10 Correct 1 ms 1876 KB Output is correct
11 Correct 1 ms 1876 KB Output is correct
12 Runtime error 421 ms 262144 KB Execution killed with signal 9
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 468 KB Output is correct
6 Correct 0 ms 468 KB Output is correct
7 Correct 1 ms 468 KB Output is correct
8 Correct 1 ms 852 KB Output is correct
9 Correct 1 ms 1236 KB Output is correct
10 Correct 1 ms 1876 KB Output is correct
11 Correct 2 ms 1984 KB Output is correct
12 Runtime error 414 ms 262144 KB Execution killed with signal 9
13 Halted 0 ms 0 KB -