Submission #894232

#TimeUsernameProblemLanguageResultExecution timeMemory
894232abcvuitunggioTeleporters (IOI08_teleporters)C++17
10 / 100
264 ms39492 KiB
#include <bits/stdc++.h> using namespace std; int n,m,w[1000001],e[1000001],cnt[1000001],p[2000001],nxt[2000001],res; int main(){ ios_base::sync_with_stdio(NULL);cin.tie(nullptr); cin >> n >> m; for (int i=1;i<=n;i++){ cin >> w[i] >> e[i]; p[w[i]]=p[e[i]]=i; nxt[w[i]]=e[i]; nxt[e[i]]=w[i]; } int u=1; while (u<=2000000){ if (p[u]){ cnt[p[u]]++; res++; u=nxt[u]; } u++; } priority_queue <int> q; int cur=0; for (int i=1;i<=2000000;i++) if (p[i]){ if (cnt[p[i]]){ if (cur) q.push(cur); cur=0; continue; } cur++; } if (cur) q.push(cur); while (!q.empty()&&m){ res+=q.top()/2+3; q.pop(); m--; } int x=0; for (int i=1;i<=n;i++) x+=(cnt[i]==1); cout << res+3*min(m,x)+m-min(m,x)+(m-min(m,x))/2*2; }
#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...