제출 #552736

#제출 시각아이디문제언어결과실행 시간메모리
552736neki기지국 (IOI20_stations)C++14
100 / 100
821 ms772 KiB
#include <bits/stdc++.h> using namespace std; #define vc vector #define fore(v, a) for(auto v:a) #define loop(i, a, b) for(int i=a;i<b;++i) #define pool(i, a, b) for(int i=a-1;i>=b;--i) vc<int> label(int n, int k, vc<int> U, vc<int> V){ vc<vc<int>> edg(n); for(int e=0;e<n-1;++e){ edg[U[e]].push_back(V[e]); edg[V[e]].push_back(U[e]); } vc<int> ret(n); int cnt=0; function<void (int, int, int)> dfs=[&](int u, int p, int hei){ if(hei%2==0)ret[u]=cnt++; fore(v, edg[u]) if(v!=p) dfs(v, u, hei+1); if(hei%2==1)ret[u]=cnt++; }; dfs(0, -1, 0); //loop(i, 0, n) cout << ret[i]<<" ";cout << endl; return ret; } int find_next_station(int s, int t, vc<int> c){ sort(c.begin(), c.end()); if(s==0){ loop(i, 0, c.size()) if(t<=c[i]) return c[i];} else{ if(s<c[0]){ if(t<s) return c.back(); loop(i, 0, c.size()-1) if(t<=c[i]) return c[i]; return c.back(); } if(s>c.back()){ if(t>s) return c[0]; pool(i, c.size(), 1) if(c[i]<=t) return c[i]; return c[0]; } } }

컴파일 시 표준 에러 (stderr) 메시지

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:7:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    7 | #define loop(i, a, b) for(int i=a;i<b;++i)
......
   30 |     if(s==0){ loop(i, 0, c.size()) if(t<=c[i]) return c[i];}
      |                    ~~~~~~~~~~~~~~   
stations.cpp:30:15: note: in expansion of macro 'loop'
   30 |     if(s==0){ loop(i, 0, c.size()) if(t<=c[i]) return c[i];}
      |               ^~~~
stations.cpp:7:36: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    7 | #define loop(i, a, b) for(int i=a;i<b;++i)
......
   34 |             loop(i, 0, c.size()-1) if(t<=c[i]) return c[i];
      |                  ~~~~~~~~~~~~~~~~   
stations.cpp:34:13: note: in expansion of macro 'loop'
   34 |             loop(i, 0, c.size()-1) if(t<=c[i]) return c[i];
      |             ^~~~
stations.cpp:43:1: warning: control reaches end of non-void function [-Wreturn-type]
   43 | }
      | ^
#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...