답안 #957243

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
957243 2024-04-03T09:47:30 Z smjun04 Safety (NOI18_safety) C++17
18 / 100
38 ms 5424 KB
#include <bits/stdc++.h>
using namespace std;

#ifdef LOCAL
constexpr bool local = true;
#else
constexpr bool local = false;
#endif

#define FASTIO ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
#define ll long long

#define debug if constexpr (local) std::cout
#define endl '\n'

int main() {
	FASTIO
    int n, h; cin >> n >> h;
    vector<ll> v(n);
    for (int i = 0; i < n; i++) cin >> v[i];
    
    ll res = 0;
    priority_queue<int> l;
    priority_queue<int, vector<int>, greater<int>> r;
    l.push(v[0]); r.push(v[0]);
    
    for (int i = 1; i < n; i++){
    	int lopt = l.top() - i*h, ropt = r.top() + i*h;
    	if (v[i] < lopt){
    		res += lopt - v[i];
    		r.push(lopt-i*h);
    		l.push(v[i]+i*h); l.push(v[i]+i*h); l.pop();
		}
		else if (ropt < v[i]){
			res += v[i] - ropt;
			l.push(ropt+i*h);
			r.push(v[i]-i*h); r.push(v[i]-i*h); r.pop();
		}
		else{
			l.push(v[i]+i*h);
			r.push(v[i]-i*h);
		}
	}
	
	cout << res;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 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 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 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 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 26 ms 4384 KB Output is correct
2 Correct 37 ms 5212 KB Output is correct
3 Correct 38 ms 5424 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Incorrect 0 ms 348 KB Output isn't correct
5 Halted 0 ms 0 KB -