Submission #1195438

#TimeUsernameProblemLanguageResultExecution timeMemory
1195438SarvarJakarta Skyscrapers (APIO15_skyscraper)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

vector<vector<int>> pwr;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n, m;
    if(!(cin >> n >> m)) return 0;
    pwr.assign(n, {});
    vector<int> b(m), p(m);
    for(int i = 0; i < m; i++) {
        cin >> b[i] >> p[i];
        pwr[b[i]].push_back(p[i]);
    }
    int start = b[0], goal = b[1];
    const int INF = 4e18;
    vector<int> dist(n, INF);
    queue<int> q;
    dist[start] = 0;
    q.push(start);
    while(!q.empty()) {
        int v = q.front(); q.pop();
        for(int idx = 0; idx < (int)pwr[v].size(); idx++) {
            int step = pwr[v][idx];
            for(int nxt = v + step, add = 1; nxt < n; nxt += step, add++) {
                if(dist[nxt] <= dist[v] + add) break;
                dist[nxt] = dist[v] + add;
                q.push(nxt);
            }
            for(int nxt = v - step, add = 1; nxt >= 0; nxt -= step, add++) {
                if(dist[nxt] <= dist[v] + add) break;
                dist[nxt] = dist[v] + add;
                q.push(nxt);
            }
        }
    }
    cout << (dist[goal] == INF ? -1 : dist[goal]) << '\n';
    return 0;
}

Compilation message (stderr)

cc1plus: error: '::main' must return 'int'