Submission #546478

#TimeUsernameProblemLanguageResultExecution timeMemory
546478PherokungTeleporters (IOI08_teleporters)C++14
100 / 100
325 ms34876 KiB
#include<bits/stdc++.h> using namespace std; int n,m,a,b,tp[2000005],vis[2000005],pos,ans,cnt; priority_queue<int> pq; queue<int> q; vector<int> v; int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ scanf("%d%d",&a,&b); tp[a] = b; tp[b] = a; } ans = 0; vis[2000001] = 1; pos = 1; while(vis[pos] == 0){ vis[pos] = 1; if(tp[pos] != 0){ pos = tp[pos] + 1; ans++; } else pos++; } for(int i=1;i<=2000000;i++){ if(vis[i] == 0){ pos = i; cnt = 0; while(vis[pos] == 0){ vis[pos] = 1; if(tp[pos] != 0){ pos = tp[pos] + 1; cnt++; } else pos++; } pq.push(cnt+2); } } while(!pq.empty() && m > 0){ //printf("TT %d\n",pq.top()); ans += pq.top(); pq.pop(); m--; } ans += 4 * (m/2) + m % 2; printf("%d",ans); }

Compilation message (stderr)

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