Submission #866844

#TimeUsernameProblemLanguageResultExecution timeMemory
8668441075508020060209tcJakarta Skyscrapers (APIO15_skyscraper)C++14
10 / 100
1 ms1168 KiB
#include<bits/stdc++.h> using namespace std; #define int long long int n;int m; long long dis[30100]; vector<int>e[30100]; int vis[30100]; int ar[30100]; int br[30100]; signed main(){ cin.tie(0); ios_base::sync_with_stdio(0); cin>>n>>m; for(int i=1;i<=m;i++){ cin>>ar[i]>>br[i]; ar[i]++; e[ar[i]].push_back(br[i]); } for(int i=2;i<=n;i++){ dis[i]=1e9; } for(int ttt=1;ttt<=n;ttt++){ int nw=0; for(int i=1;i<=n;i++){ if(vis[i]){continue;} if(nw==0||dis[i]<=dis[nw]){ nw=i; } } if(nw==0){break;} if(dis[nw]>=1000000000){break;} vis[nw]=1; for(int i=0;i<e[nw].size();i++){ int d=e[nw][i]; for(int t=1;nw+t*d<=n;t++){ int v=nw+t*d; if(dis[v]>dis[nw]+t){ dis[v]=dis[nw]+t; } } for(int t=1;nw-t*d>=1;t++){ int v=nw-t*d; if(dis[v]>dis[nw]+t){ dis[v]=dis[nw]+t; } } } } if(dis[ar[2]]>=n+1){ cout<<-1;return 0; } cout<<dis[ar[2]]; }

Compilation message (stderr)

skyscraper.cpp: In function 'int main()':
skyscraper.cpp:33:14: 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]
   33 | for(int i=0;i<e[nw].size();i++){
      |             ~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...