답안 #1055244

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1055244 2024-08-12T15:51:26 Z Mokocraft Safety (NOI18_safety) C++14
9 / 100
38 ms 4616 KB
#include <iostream>
#include <stdio.h>
#include <array>
#include <algorithm>
#include <cmath>
#include <queue>
/*
void showq(std::priority_queue<int> qL, std::priority_queue<int, std::vector<int>, std::greater<int>> qR)
{
    while(!qL.empty())
    {
        std::cout << qL.top() << ' ';
        qL.pop();
    }
    while(!qR.empty())
    {
        std::cout << ' ' << qR.top();
        qR.pop();
    }
    std::cout << std::endl;
    return;
}
*/
int main()
{
    //freopen("duotaB.txt", "r", stdin);

    long long n, h;
    std::cin >> n >> h;

    long long arr[n];
    for(int i = 0; i < n; i++)
        std::cin >> arr[i];

    std::priority_queue<long long> qL;
    std::priority_queue<long long, std::vector<long long>, std::greater<long long>> qR;

    long long min = 0;
    qL.emplace(arr[0]);
    qR.emplace(arr[0]);

    //showq(qL, qR);

    for(int i = 1; i < n; i++)
    {
        if(arr[i] + (long long)i*h < qL.top())
        {
            qL.emplace(arr[i] + (long long)i*h);
            qL.emplace(arr[i] + (long long)i*h);
            min += qL.top() - arr[i] - (long long)i*h;
            qR.emplace(qL.top() - 2*(long long)i*h);
            qL.pop();
        }
        else if(arr[i] - (long long)i*h > qR.top())
        {
            qR.emplace(arr[i] - (long long)i*h);
            qR.emplace(arr[i] - (long long)i*h);
            min +=  arr[i] - (long long)i*h - qR.top();
            qL.emplace(qL.top() + (long long)2*(long long)i*h);
            qR.pop();
        }
        else
        {
            qL.emplace(arr[i] + (long long)i*h);
            qR.emplace(arr[i] - (long long)i*h);
        }
         

        //showq(qL, qR);
    }

    std::cout << min;

    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 38 ms 4616 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -