제출 #1162652

#제출 시각아이디문제언어결과실행 시간메모리
1162652guipenedo나일강 (IOI24_nile)C++17
17 / 100
2092 ms4748 KiB
#include <vector>
#include <algorithm>
#include "nile.h"

std::vector<long long> calculate_costs(std::vector<int> W, std::vector<int> A,
                                       std::vector<int> B, std::vector<int> E) {
    int N = W.size();
    int Q = E.size();
    std::vector<long long> R(Q, 0);
    
    // Sort the weights
    std::sort(W.begin(), W.end());
    
    // Precompute differences
    std::vector<int> diff(N-1);
    for (int i = 0; i < N-1; ++i) {
        diff[i] = W[i+1] - W[i];
    }
    
    for (int q = 0; q < Q; ++q) {
        int D = E[q];
        int P = 0;
        for (int i = 0; i < N-1; ) {
            if (diff[i] <= D) {
                P += 1;
                i += 2;
            } else {
                i += 1;
            }
        }
        R[q] = 2 * N - 2 * P;
    }
    
    return R;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...