Submission #396699

# Submission time Handle Problem Language Result Execution time Memory
396699 2021-04-30T15:44:22 Z leinad2 Jakarta Skyscrapers (APIO15_skyscraper) C++17
0 / 100
3 ms 2380 KB
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n, m, i, j, k, A[30010], a, b, w, s, e, B[30010][2];
vector<pair<int, int> >adj[30010];
map<int, vector<int> >mp[30010];
map<int, vector<int> >::iterator it;
priority_queue<pair<int, int>, vector<pair<int, int> >, greater<pair<int, int> > >pq;
main()
{
    ios_base::sync_with_stdio(!cin.tie(NULL));
    for(cin>>n>>m;i++<m;)
    {
        cin>>B[i][0]>>B[i][1];
        mp[B[i][1]][B[i][0]%B[i][1]].push_back(B[i][0]);
    }
    for(i=0;i++<30000;)
    {
        for(it=mp[i].begin();it!=mp[i].end();it++)
        {
            vector<int>v=it->second;
            for(k=0;k<v.size();k++)
            {
                a=1;if(k==0)b=0;else b=max(0LL, v[k-1]);
                for(j=v[k]-i;j>=b;j-=i,a++)
                {
                    adj[v[k]].push_back({j, a});
                }
                a=1;if(k+1==v.size())b=n-1;else b=min(n-1, v[k+1]);
                for(j=v[k]+i;j<=b;j+=i,a++)
                {
                    adj[v[k]].push_back({j, a});
                }
            }
        }
    }
    s=B[1][0];e=B[2][0];
    for(i=0;i<n;i++)A[i]=1e18;
    pq.push({0, s});
    while(pq.size())
    {
        pair<int, int>p=pq.top();pq.pop();
        a=p.second;b=p.first;
        if(A[a]<1e9)continue;
        A[a]=b;
        for(i=0;i<adj[a].size();i++)
        {
            pq.push({A[a]+adj[a][i].second, adj[a][i].first});
        }
    }
    if(A[e]==1e9)A[e]=-1;cout<<A[e];
}

Compilation message

skyscraper.cpp:9:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    9 | main()
      |      ^
skyscraper.cpp: In function 'int main()':
skyscraper.cpp:22:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |             for(k=0;k<v.size();k++)
      |                     ~^~~~~~~~~
skyscraper.cpp:29:27: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |                 a=1;if(k+1==v.size())b=n-1;else b=min(n-1, v[k+1]);
      |                        ~~~^~~~~~~~~~
skyscraper.cpp:46:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |         for(i=0;i<adj[a].size();i++)
      |                 ~^~~~~~~~~~~~~~
skyscraper.cpp:51:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   51 |     if(A[e]==1e9)A[e]=-1;cout<<A[e];
      |     ^~
skyscraper.cpp:51:26: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   51 |     if(A[e]==1e9)A[e]=-1;cout<<A[e];
      |                          ^~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2380 KB Output is correct
2 Correct 2 ms 2380 KB Output is correct
3 Correct 2 ms 2380 KB Output is correct
4 Incorrect 2 ms 2380 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2380 KB Output is correct
2 Correct 2 ms 2380 KB Output is correct
3 Correct 2 ms 2380 KB Output is correct
4 Incorrect 3 ms 2380 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2380 KB Output is correct
2 Correct 2 ms 2380 KB Output is correct
3 Correct 3 ms 2380 KB Output is correct
4 Incorrect 2 ms 2380 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2380 KB Output is correct
2 Correct 2 ms 2380 KB Output is correct
3 Correct 2 ms 2380 KB Output is correct
4 Incorrect 2 ms 2380 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2380 KB Output is correct
2 Correct 2 ms 2380 KB Output is correct
3 Correct 2 ms 2380 KB Output is correct
4 Incorrect 2 ms 2380 KB Output isn't correct
5 Halted 0 ms 0 KB -