Submission #208612

#TimeUsernameProblemLanguageResultExecution timeMemory
208612Kenzo_1114Crocodile's Underground City (IOI11_crocodile)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> //#include "crocodile.h" using namespace std; const int MAXN = 100010; const int MAXM = 1000010; const int INF = 2e9 + 7; int N, M, R[MAXM][2], K, P[MAXN]; int L[MAXM]; int dist[MAXN], dist2[MAXN]; vector<int> graf[MAXN]; vector<int> cost[MAXN]; void DIK(int n) { set<pair<pair<int, int>, int> > s; for(int i = 0; i < n; i++) s.insert({{dist[i], dist2[i]}, i}); while(!s.empty()) { int cur = s.begin()->second; s.erase(s.begin()); for(int i = 0; i < graf[cur].size(); i++) { int adj = graf[cur][i]; int c = cost[cur][i]; int DIST = dist2[cur]; if(dist[adj] > DIST + c) { s.erase({{dist[adj], dist2[adj]}, adj}); dist2[adj] = dist[adj], dist[adj] = DIST + c; s.insert({{dist[adj], dist2[adj]}, adj}); } else if(dist2[adj] > DIST + c) { s.erase({{dist[adj], dist2[adj]}, adj}); dist2[adj] = DIST + c; s.insert({{dist[adj], dist2[adj]}, adj}); } } } } int travel_plan(int n, int m, int r[][2], int l[], int k, int p[]) { for(int i = 0; i < M; i++) { int a = r[i][0]; int b = r[i][1]; graf[a].push_back(b); graf[b].push_back(a); cost[a].push_back(l[i]); cost[b].push_back(l[i]); } for(int i = 0; i < n; i++) dist[i] = dist2[i] = INF; for(int i = 0; i < k; i++) dist[p[i]] = dist2[p[i]] = 0; DIK(n); return dist2[0]; } int main () { scanf("%d %d", &N, &M); for(int i = 0; i < M; i++) scanf("%d %d", &R[i][0], &R[i][1]); for(int i = 0; i < M; i++) scanf("%d", &L[i]); scanf("%d", &K); for(int i = 0; i < K; i++) scanf("%d", &P[i]); printf("%d\n", travel_plan(N, M, R, L, K, P)); }

Compilation message (stderr)

crocodile.cpp: In function 'void DIK(int)':
crocodile.cpp:27:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 0; i < graf[cur].size(); i++)
                  ~~^~~~~~~~~~~~~~~~~~
crocodile.cpp: In function 'int main()':
crocodile.cpp:75:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &N, &M);
  ~~~~~^~~~~~~~~~~~~~~~~
crocodile.cpp:78:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d", &R[i][0], &R[i][1]);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crocodile.cpp:80:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i = 0; i < M; i++) scanf("%d", &L[i]);
                             ~~~~~^~~~~~~~~~~~~
crocodile.cpp:82:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &K);
  ~~~~~^~~~~~~~~~
crocodile.cpp:84:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i = 0; i < K; i++) scanf("%d", &P[i]);
                             ~~~~~^~~~~~~~~~~~~
/tmp/ccenoLco.o: In function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/cc6kgDfO.o:crocodile.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status