# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
383190 | danielcm585 | Palembang Bridges (APIO15_bridge) | C++14 | 2 ms | 364 KiB |
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;
#define fi first
#define se second
typedef long long ll;
typedef pair<int,int> ii;
const int N = 2e5;
const ll INF = 1e18;
int k, n;
vector<ll> v;
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> k >> n;
ll ans = 0;
for (int i = 1; i <= n; i++) {
char p, q;
int s, t;
cin >> p >> s >> q >> t;
if (p == q) ans += abs(s-t);
else {
ans++;
v.push_back(s);
v.push_back(t);
}
}
ll mini = INF;
if (k == 1) {
sort(v.begin(),v.end());
ll cost = 0;
for (int i = 1; i < v.size(); i++) cost += v[i]-v[0];
for (int i = 0; i < v.size(); i++) {
mini = min(mini,cost);
if (i+1 < v.size()) {
cost += (v[i+1]-v[i])*(i+1);
cost -= (v[i+1]-v[i])*(v.size()-i-1);
}
}
ans += mini;
}
else {
}
cout << ans << '\n';
return 0;
}
/*
1 5
B 0 A 4
B 1 B 3
A 5 B 7
B 2 A 6
B 1 A 7
*/
Compilation message (stderr)
# | 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... |