Submission #1037828

#TimeUsernameProblemLanguageResultExecution timeMemory
1037828Halym2007Palembang Bridges (APIO15_bridge)C++17
9 / 100
2059 ms4700 KiB
#include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back #define ll long long #define pii pair <int, int> #define sz size() const int N = 2e5 + 5; vector <ll> v; char s[N], f[N]; ll a[N], b[N]; int k, n; int main() { // freopen ("input.txt", "r", stdin); ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin >> k >> n; for (int i = 1; i <= n; ++i) { cin >> s[i] >> a[i] >> f[i] >> b[i]; if (s[i] != f[i]) { v.pb (a[i]); v.pb (b[i]); } } sort (v.begin(), v.end()); if (k == 1) { ll idx = 0; if (v.empty()) idx = v[(int)v.sz / 2]; ll sum = 0; for (int i = 1; i <= n; ++i) { if (s[i] == f[i]) { sum += abs (a[i] - b[i]); } else { sum += abs (idx - a[i]); sum += abs (idx - b[i]); sum++; } } cout << sum; } else { ll jog = 0; for (int i = 1; i <= n; ++i) { if (s[i] == f[i]) { jog += abs (a[i] - b[i]); } } ll sum = -1; if (!v.empty()) for (int i = 0; i < (int)v.sz; ++i) { for (int j = i + 1; j < (int)v.sz; ++j) { ll idx = v[i], idx1 = v[j]; ll sum1 = 0; for (int k = 1; k <= n; ++k) { if (s[k] != f[k]) { ll a1 = abs (idx - a[k]) + abs (idx - b[k]), b1 = abs (idx1 - a[k]) + abs (idx1 - b[k]); sum1 += min (a1, b1); sum1++; } } if (sum == -1) sum = sum1; else sum = min (sum, sum1); } } if (sum == -1) sum = 0; cout << jog + sum << "\n"; } }
#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...