Submission #1147718

#TimeUsernameProblemLanguageResultExecution timeMemory
1147718aldo2902Coin Collecting (JOI19_ho_t4)C++20
0 / 100
0 ms328 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>

using namespace std;

long long manhattanDistance(int x1, int y1, int x2, int y2) {
    return abs(x1 - x2) + abs(y1 - y2);
}

int main() {
    int N;
    cin >> N;

    vector<pair<int, int>> coins(2 * N);
    for (int i = 0; i < 2 * N; i++) {
        cin >> coins[i].first >> coins[i].second;
    }

    vector<pair<int, int>> targets;
    for (int x = 1; x <= N; x++) {
        targets.push_back({x, 1});
        targets.push_back({x, 2});
    }

    sort(coins.begin(), coins.end());
    sort(targets.begin(), targets.end());

    long long total_cost = 0;
    for (int i = 0; i < 2 * N; i++) {
        total_cost += manhattanDistance(coins[i].first, coins[i].second, targets[i].first, targets[i].second);
    }

    cout << total_cost << endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...