제출 #740272

#제출 시각아이디문제언어결과실행 시간메모리
740272Ahmed57Teleporters (IOI08_teleporters)C++17
100 / 100
479 ms56312 KiB
#include <bits/stdc++.h> using namespace std; int tele[2000005]; int le[2000005]; bool vis[2000005]; int ans = 0;bool ss = 0; void dfs(int i){ ans++;vis[i] = 1; if(tele[i]==0){ss = 1;return ;} if(!vis[tele[i]])dfs(tele[i]); } int main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n,m; cin>>n>>m; priority_queue<int> q; vector<pair<int,int>> v; vector<pair<int,int>> te; for(int i = 0;i<n;i++){ int a,b;cin>>a>>b; v.push_back({a,b});v.push_back({b,a}); } sort(v.begin(),v.end()); for(int i = 0;i<v.size();i++){ le[v[i].first] = i+1; } for(int i = 0;i<v.size();i++){ tele[i+1] = le[v[i].second]+1; } int org = 0; for(int i = 1;i<=2*n+1;i++){ if(!vis[i]){ ss = 0;ans = 0; dfs(i); if(ss){ org = ans-1; }else{ q.push(ans); } } } while(m--){ if(q.size()==0){ org++;q.push(1); }else{ org+=q.top()+2;q.pop(); } } cout<<org<<endl; }

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

teleporters.cpp: In function 'int main()':
teleporters.cpp:25:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |     for(int i = 0;i<v.size();i++){
      |                   ~^~~~~~~~~
teleporters.cpp:28:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |     for(int i = 0;i<v.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...
#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...