제출 #569441

#제출 시각아이디문제언어결과실행 시간메모리
56944179brueTeleporters (IOI08_teleporters)C++17
100 / 100
780 ms25996 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int n, k, len; int nxt[2000002]; bool visited[2000002]; int l[1000002], r[1000002]; vector<int> vec; int base; int main(){ scanf("%d %d", &n, &k); for(int i=1; i<=n; i++){ scanf("%d %d", &l[i], &r[i]); vec.push_back(l[i]), vec.push_back(r[i]); } sort(vec.begin(), vec.end()); len = n*2; for(int i=0; i<len; i++) nxt[i] = i+1; for(int i=1; i<=n; i++){ l[i] = lower_bound(vec.begin(), vec.end(), l[i]) - vec.begin() + 1; r[i] = lower_bound(vec.begin(), vec.end(), r[i]) - vec.begin() + 1; nxt[l[i]-1] = r[i]; nxt[r[i]-1] = l[i]; } nxt[len] = 0; vec.clear(); for(int i=0; i<=len; i++){ if(visited[i]) continue; int x = i, cnt = 0; while(!visited[x]){ visited[x] = 1; cnt++; x = nxt[x]; } if(i==0) base = cnt; else vec.push_back(cnt); } sort(vec.begin(), vec.end()); --base; while(k){ if(vec.empty()) break; else base += vec.back() + 2, vec.pop_back(); k--; } base += k*2 - (k%2); printf("%d", base); }

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

teleporters.cpp: In function 'int main()':
teleporters.cpp:15:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |     scanf("%d %d", &n, &k);
      |     ~~~~~^~~~~~~~~~~~~~~~~
teleporters.cpp:17:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |         scanf("%d %d", &l[i], &r[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...
#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...
#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...
#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...