Submission #1354890

#TimeUsernameProblemLanguageResultExecution timeMemory
1354890dsgSouvenirs (IOI25_souvenirs)C++20
Compilation error
0 ms0 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

long long delivery(int N, int K, int L, int positions[]) {
    vector<long long> left(N + 1, 0);
    vector<long long> right(N + 1, 0);

    // Sắp xếp vị trí quà (thường đề bài đã cho sắp xếp sẵn)
    // Tính left[i]: chi phí lấy i phần quà đầu tiên từ bên trái
    for (int i = 1; i <= N; i++) {
        int dist = positions[i - 1];
        if (i <= K) {
            left[i] = 2LL * dist;
        } else {
            left[i] = left[i - K] + 2LL * dist;
        }
    }

    // Tính right[i]: chi phí lấy i phần quà đầu tiên từ bên phải
    for (int i = 1; i <= N; i++) {
        int dist = L - positions[N - i];
        if (i <= K) {
            right[i] = 2LL * dist;
        } else {
            right[i] = right[i - K] + 2LL * dist;
        }
    }

    // Trường hợp 1: Không đi vòng tròn nào
    long long ans = 1e18; // Khởi tạo giá trị vô cùng lớn
    for (int i = 0; i <= N; i++) {
        ans = min(ans, left[i] + right[N - i]);
    }

    // Trường hợp 2: Có đi đúng 1 vòng tròn để lấy tối đa K món ở giữa
    for (int i = 0; i <= N - K; i++) {
        ans = min(ans, left[i] + right[N - i - K] + L);
    }

    return ans;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccZiQE6O.o: in function `main':
stub.cpp:(.text.startup+0x99): undefined reference to `buy_souvenirs(int, long long)'
collect2: error: ld returned 1 exit status