#include <bits/stdc++.h>
#define ll long long
#define int long long
#define pb push_back
#define fi first
#define se second
using namespace std;
const int MAXN = 2e5+10;
const int INF = 4e18+10;
typedef pair<int,int> pii;
typedef pair<int,pii> ipii;
int K, n;
int ans;
vector <int> vec;
vector <pii> seg;
int pr[MAXN];
signed main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin >> K >> n;
if(K==1){
// exit(0);
vector <int> cc; cc.pb(-1);
for(int i=1; i<=n; i++){
char x, y; int a, b;
cin >> x >> a >> y >> b; a++; b++;
if(x==y) ans += abs(a-b);
else {
if(a > b) swap(a, b);
seg.pb({a, b});
cc.pb(a); cc.pb(b);
}
}
sort(seg.begin(), seg.end());
sort(cc.begin(), cc.end());
// cc.resize(unique(cc.begin(), cc.end()) - cc.begin());
// cout << ans << " ans\n";
int MN = INF, all = cc.size()-1, las = 1;
// for(int i=1; i<=all; i++){
int te = 0, le = cc[(all+1)/2];
for(auto ed : seg){
int l = ed.fi, r = ed.se;
te += abs(l-le)+abs(r-le);
}
MN = min(MN, te);
// }
ans += seg.size();
cout << ans+MN << '\n';
} else {
vector <int> cc; cc.pb(-1);
for(int i=1; i<=n; i++){
char x, y; int a, b;
cin >> x >> a >> y >> b; a++; b++;
if(x==y) ans += abs(a-b);
else {
if(a > b) swap(a, b);
seg.pb({a, b});
cc.pb(a); cc.pb(b);
}
}
sort(seg.begin(), seg.end());
sort(cc.begin(), cc.end());
cc.resize(unique(cc.begin(), cc.end()) - cc.begin());
// cout << ans << " ans\n";
int MN = INF, all = cc.size()-1, las = 1;
if(all==0) MN = 0;
for(int i=1; i<=all; i++){
for(int j=i; j<=all; j++){
int te = 0, le = cc[i], ri = cc[j];
for(auto ed : seg){
int l = ed.fi, r = ed.se;
te += min(abs(l-le)+abs(r-le), abs(l-ri)+abs(r-ri));
}
MN = min(MN, te);
}
}
ans += seg.size();
cout << ans+MN << '\n';
}
}
Compilation message
bridge.cpp: In function 'int main()':
bridge.cpp:41:36: warning: unused variable 'las' [-Wunused-variable]
41 | int MN = INF, all = cc.size()-1, las = 1;
| ^~~
bridge.cpp:71:36: warning: unused variable 'las' [-Wunused-variable]
71 | int MN = INF, all = cc.size()-1, las = 1;
| ^~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
344 KB |
Output is correct |
4 |
Correct |
1 ms |
348 KB |
Output is correct |
5 |
Correct |
1 ms |
400 KB |
Output is correct |
6 |
Correct |
1 ms |
348 KB |
Output is correct |
7 |
Correct |
1 ms |
348 KB |
Output is correct |
8 |
Correct |
1 ms |
348 KB |
Output is correct |
9 |
Correct |
1 ms |
348 KB |
Output is correct |
10 |
Correct |
1 ms |
348 KB |
Output is correct |
11 |
Correct |
1 ms |
348 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
1 ms |
348 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
1 ms |
348 KB |
Output is correct |
7 |
Correct |
1 ms |
344 KB |
Output is correct |
8 |
Correct |
1 ms |
348 KB |
Output is correct |
9 |
Correct |
1 ms |
348 KB |
Output is correct |
10 |
Correct |
1 ms |
348 KB |
Output is correct |
11 |
Correct |
1 ms |
348 KB |
Output is correct |
12 |
Correct |
20 ms |
3784 KB |
Output is correct |
13 |
Correct |
39 ms |
3800 KB |
Output is correct |
14 |
Correct |
31 ms |
3780 KB |
Output is correct |
15 |
Correct |
23 ms |
2500 KB |
Output is correct |
16 |
Correct |
21 ms |
3780 KB |
Output is correct |
17 |
Correct |
23 ms |
3784 KB |
Output is correct |
18 |
Correct |
27 ms |
3784 KB |
Output is correct |
19 |
Correct |
39 ms |
3812 KB |
Output is correct |
20 |
Correct |
24 ms |
3780 KB |
Output is correct |
21 |
Correct |
35 ms |
3776 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
344 KB |
Output is correct |
3 |
Correct |
1 ms |
348 KB |
Output is correct |
4 |
Correct |
4 ms |
460 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
0 ms |
344 KB |
Output is correct |
7 |
Correct |
0 ms |
344 KB |
Output is correct |
8 |
Correct |
5 ms |
348 KB |
Output is correct |
9 |
Correct |
7 ms |
344 KB |
Output is correct |
10 |
Correct |
5 ms |
348 KB |
Output is correct |
11 |
Correct |
0 ms |
464 KB |
Output is correct |
12 |
Correct |
5 ms |
348 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
1 ms |
348 KB |
Output is correct |
4 |
Correct |
4 ms |
348 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
0 ms |
348 KB |
Output is correct |
7 |
Correct |
0 ms |
348 KB |
Output is correct |
8 |
Correct |
5 ms |
348 KB |
Output is correct |
9 |
Correct |
6 ms |
348 KB |
Output is correct |
10 |
Correct |
5 ms |
348 KB |
Output is correct |
11 |
Correct |
0 ms |
348 KB |
Output is correct |
12 |
Correct |
5 ms |
348 KB |
Output is correct |
13 |
Correct |
1 ms |
348 KB |
Output is correct |
14 |
Correct |
12 ms |
348 KB |
Output is correct |
15 |
Execution timed out |
2028 ms |
344 KB |
Time limit exceeded |
16 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
0 ms |
464 KB |
Output is correct |
4 |
Correct |
4 ms |
348 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
1 ms |
348 KB |
Output is correct |
7 |
Correct |
0 ms |
348 KB |
Output is correct |
8 |
Correct |
5 ms |
348 KB |
Output is correct |
9 |
Correct |
7 ms |
472 KB |
Output is correct |
10 |
Correct |
5 ms |
348 KB |
Output is correct |
11 |
Correct |
0 ms |
348 KB |
Output is correct |
12 |
Correct |
5 ms |
348 KB |
Output is correct |
13 |
Correct |
1 ms |
348 KB |
Output is correct |
14 |
Correct |
12 ms |
348 KB |
Output is correct |
15 |
Execution timed out |
2052 ms |
348 KB |
Time limit exceeded |
16 |
Halted |
0 ms |
0 KB |
- |