Submission #487983

#TimeUsernameProblemLanguageResultExecution timeMemory
487983duyanh1704Palembang Bridges (APIO15_bridge)C++14
22 / 100
41 ms4072 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;

const int maxN = 1e5;
typedef pair<int, int> ii;
int k, n;
vector<ii> v;

int f(int m){
    int ret = 0;
    for (auto [x, y] : v)
        ret += abs(x - m) + abs(y - m) + 1;
    return ret;
}

int solve(){
    int l = 0, r = (int)1e9;
    while (true){
        if (r - l == 1){
            if (f(l) < f(r)) return f(l);
            return f(r);
        }
        int m = (l + r) >> 1;
        if (f(m) > f(m + 1)) l = m;
        else r = m;
    }
    return -1;
}

signed main(){
    ios::sync_with_stdio(0); cin.tie(0);
    cin >> k >> n;
    int curr = 0;
    for (int i = 1; i <= n; ++i){
        int x, y;
        char p1, p2;
        cin >> p1 >> x >> p2 >> y;
        if (p1 == p2) curr += abs(x - y);
        else{
            v.push_back({x, y});
        }
    }

    int res = solve();
    cout << res + curr;
    return 0;
}

Compilation message (stderr)

bridge.cpp: In function 'long long int f(long long int)':
bridge.cpp:12:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   12 |     for (auto [x, y] : v)
      |               ^
#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...