This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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=0;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]]){
q.push(cur);
cur=0;
continue;
}
cur++;
}
while (!q.empty()&&m){
res+=q.top()+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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |