Submission #207095

# Submission time Handle Problem Language Result Execution time Memory
207095 2020-03-06T11:58:46 Z Sa1loum Jakarta Skyscrapers (APIO15_skyscraper) C++14
22 / 100
7 ms 1520 KB
#include <bits/stdc++.h>
using namespace std;
#define IO ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define mem(a,b) memset(a, b, sizeof(a))
#define F first
#define S second
#define Si size()
#define pb(x) push_back(x)
typedef double D;
typedef long long ll;
typedef long double ld;
const int MOD=(int)1e9+7,MAX=(int)1e3+10;
int n,m,b[MAX],p[MAX],vis[MAX];
vector <pair<int,int> > v[MAX];
int main()
{
    scanf("%d%d",&n,&m);
    int s,e;
    for (int i=0;i<m;i++) {
        scanf("%d%d",&b[i],&p[i]);
        int d=0;
        if (i==0) s=b[i];
        if (i==1) e=b[i];
        for (int j=b[i],k=b[i];;j+=p[i],k-=p[i]) {
            bool flag=0;
            if (0<=j && j<n) {
                flag=1;
                if (j!=b[i]) {
                    v[b[i]].push_back({j,d});
                }
            }
            if (0<=k && k<n) {
                flag=1;
                if (k!=b[i]) {
                    v[b[i]].push_back({k,d});
                }
            }
            d++;
            if (!flag) break;
        }
    }
    priority_queue <pair<int,int>> pq;
    pq.push({0,s});
    while (!pq.empty()) {
        int x=pq.top().S;
        int w=-pq.top().F;
        pq.pop();
        if (vis[x]) continue;
        vis[x]=1;
        if (x==e) {printf("%d\n",w); return 0;}
        for (auto it:v[x]) {
            if (vis[it.F]) continue;
            pq.push({-w-it.S,it.F});
        }
    }
    puts("-1\n");
}

Compilation message

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:17:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&m);
     ~~~~~^~~~~~~~~~~~~~
skyscraper.cpp:20:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d",&b[i],&p[i]);
         ~~~~~^~~~~~~~~~~~~~~~~~~~
skyscraper.cpp:50:9: warning: 'e' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if (x==e) {printf("%d\n",w); return 0;}
         ^~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
4 Correct 5 ms 380 KB Output is correct
5 Correct 6 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 5 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
4 Correct 5 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 4 ms 376 KB Output is correct
7 Correct 5 ms 376 KB Output is correct
8 Correct 5 ms 376 KB Output is correct
9 Correct 5 ms 376 KB Output is correct
10 Correct 5 ms 376 KB Output is correct
11 Correct 5 ms 376 KB Output is correct
12 Correct 6 ms 1520 KB Output is correct
13 Correct 7 ms 1520 KB Output is correct
14 Correct 5 ms 380 KB Output is correct
15 Correct 5 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
4 Correct 5 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 5 ms 508 KB Output is correct
7 Correct 5 ms 376 KB Output is correct
8 Correct 4 ms 376 KB Output is correct
9 Correct 5 ms 376 KB Output is correct
10 Correct 5 ms 376 KB Output is correct
11 Correct 5 ms 376 KB Output is correct
12 Correct 7 ms 1520 KB Output is correct
13 Correct 7 ms 1520 KB Output is correct
14 Correct 5 ms 380 KB Output is correct
15 Correct 5 ms 376 KB Output is correct
16 Correct 5 ms 376 KB Output is correct
17 Incorrect 6 ms 504 KB Output isn't correct
18 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
4 Correct 5 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 5 ms 376 KB Output is correct
8 Correct 5 ms 376 KB Output is correct
9 Correct 5 ms 376 KB Output is correct
10 Correct 5 ms 376 KB Output is correct
11 Correct 5 ms 376 KB Output is correct
12 Correct 7 ms 1516 KB Output is correct
13 Correct 7 ms 1520 KB Output is correct
14 Correct 5 ms 376 KB Output is correct
15 Correct 5 ms 376 KB Output is correct
16 Correct 5 ms 376 KB Output is correct
17 Incorrect 6 ms 504 KB Output isn't correct
18 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 5 ms 376 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
4 Correct 5 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 5 ms 376 KB Output is correct
8 Correct 5 ms 376 KB Output is correct
9 Correct 5 ms 376 KB Output is correct
10 Correct 5 ms 376 KB Output is correct
11 Correct 5 ms 376 KB Output is correct
12 Correct 7 ms 1520 KB Output is correct
13 Correct 7 ms 1520 KB Output is correct
14 Correct 5 ms 376 KB Output is correct
15 Correct 5 ms 376 KB Output is correct
16 Correct 5 ms 376 KB Output is correct
17 Incorrect 5 ms 504 KB Output isn't correct
18 Halted 0 ms 0 KB -