제출 #541600

#제출 시각아이디문제언어결과실행 시간메모리
541600Vladth11기지국 (IOI20_stations)C++14
100 / 100
751 ms720 KiB
#include <bits/stdc++.h> #include "stations.h" #define debug(x) cerr << #x << " " << x << "\n" #define debugs(x) cerr << #x << " " << x << " " using namespace std; typedef long long ll; typedef pair <int, int> pii; typedef pair <long double, pii> muchie; const ll NMAX = 1001; const ll VMAX = 1000001; const ll INF = (1LL << 60); const ll MOD = 1000000007; const ll BLOCK = 1000000; const ll nr_of_bits = 16; vector <int> sol; int lvl[NMAX]; vector <int> g[NMAX]; int stamp; void DFS(int node, int p){ lvl[node] = lvl[p] + 1; if(lvl[node] % 2){ sol[node] = stamp++; } for(auto x : g[node]){ if(x == p) continue; DFS(x, node); } if(lvl[node] % 2 == 0) sol[node] = stamp++; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { sol.clear(); sol.resize(n); stamp = 0; for(int i = 0; i < n; i++){ g[i].clear(); lvl[i] = 0; } for (int i = 0; i < n - 1; i++) { int a = u[i]; int b = v[i]; g[a].push_back(b); g[b].push_back(a); } DFS(0, -1); return sol; } int find_next_station(int s, int t, vector<int> c) { sort(c.begin(), c.end()); if(s >= c[0]) reverse(c.begin(), c.end()); for(int i = 0; i < c.size() - 1; i++){ if(c[i] > s && s <= t && t <= c[i]){ return c[i]; }else if(c[i] < s && c[i] <= t && t <= s){ return c[i]; } } return c.back(); }

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

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:59:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |     for(int i = 0; i < c.size() - 1; 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...