| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 1109595 | simona1230 | Jakarta Skyscrapers (APIO15_skyscraper) | C++17 | 405 ms | 262144 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
struct edge
{
    int x,d;
    edge(){}
    edge(int _x,int _d)
    {
        x=_x;
        d=_d;
    }
    bool operator<(const edge&e)const
    {
        return e.d<d;
    }
};
int n,m;
vector<edge> v[32001];
void read()
{
    cin>>n>>m;
    for(int i=0;i<m;i++)
    {
        int x,y;
        cin>>x>>y;
        for(int j=x;j<n;j+=y)
        {
            //cout<<i<<" "<<j+m<<endl;
            v[i].push_back({j+m,(j-x)/y});
        }
        for(int j=x-y;j>=0;j-=y)
        {
            //cout<<i<<" "<<j+m<<endl;
            v[i].push_back({j+m,(x-j)/y});
        }
        //cout<<x+m<<" "<<i<<endl;
        v[x+m].push_back({i,0});
    }
}
int d[32001];
priority_queue<edge> q;
void dijkstra()
{
    for(int i=0;i<n+m;i++)
        d[i]=1e9;
    d[0]=0;
    q.push({0,0});
    while(q.size())
    {
        edge e=q.top();
        //cout<<e.x<<endl;
        q.pop();
        if(d[e.x]>=e.d)
        {
            for(int i=0;i<v[e.x].size();i++)
            {
                edge nb=v[e.x][i];
                if(nb.d+e.d<d[nb.x])
                {
                    d[nb.x]=nb.d+e.d;
                    q.push({nb.x,d[nb.x]});
                }
            }
        }
    }
}
int main()
{
    read();
    dijkstra();
    if(d[1]==1e9)d[1]=-1;
    cout<<d[1]<<endl;
    return 0;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
