Submission #76823

# Submission time Handle Problem Language Result Execution time Memory
76823 2018-09-18T13:11:05 Z vex Jakarta Skyscrapers (APIO15_skyscraper) C++14
0 / 100
3 ms 1344 KB
#include <bits/stdc++.h>
#define maxn 30005
#define pii pair<int,int>
using namespace std;

int n,m;
vector<int>p[maxn];
priority_queue<pii>pq;
int dis[maxn];

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

    cin>>n>>m;
    int s;
    int e;
    for(int i=0;i<m;i++)
    {
        int x,y;
        cin>>x>>y;
        p[x].push_back(y);
        if(i==0)s=x;
        if(i==1)e=x;
    }

    for(int i=0;i<n;i++)dis[i]=n+30;
    pq.push({0,s});
    dis[s]=0;

    while(!pq.empty())
    {
        int v=pq.top().second;
        pq.pop();

        for(auto x:p[v])
        {
            for(int i=v%x;i<n;i+=x)
            {
                if(dis[i]>dis[v]+(abs(i-v))/x)
                {
                    dis[i]=dis[v]+abs(i-v)/x;
                    if(i==e)
                    {
                        cout<<dis[i]<<endl;
                        return 0;
                    }
                    pq.push({-dis[i],i});
                }
            }
        }
    }

    for(int i=0;i<n;i++)cout<<dis[i]<<" ";cout<<endl;
    cout<<"-1"<<endl;
    return 0;
}

Compilation message

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:56:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
     for(int i=0;i<n;i++)cout<<dis[i]<<" ";cout<<endl;
     ^~~
skyscraper.cpp:56:43: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
     for(int i=0;i<n;i++)cout<<dis[i]<<" ";cout<<endl;
                                           ^~~~
skyscraper.cpp:31:11: warning: 's' may be used uninitialized in this function [-Wmaybe-uninitialized]
     dis[s]=0;
     ~~~~~~^~
skyscraper.cpp:45:21: warning: 'e' may be used uninitialized in this function [-Wmaybe-uninitialized]
                     if(i==e)
                     ^~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1016 KB Output is correct
2 Incorrect 3 ms 1152 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1152 KB Output is correct
2 Incorrect 3 ms 1152 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1152 KB Output is correct
2 Incorrect 3 ms 1192 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1316 KB Output is correct
2 Incorrect 3 ms 1316 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1316 KB Output is correct
2 Incorrect 3 ms 1344 KB Output isn't correct
3 Halted 0 ms 0 KB -