Submission #318608

# Submission time Handle Problem Language Result Execution time Memory
318608 2020-11-02T13:37:14 Z MetB Safety (NOI18_safety) C++14
0 / 100
282 ms 262148 KB
#include <bits/stdc++.h>
 
#define N 2000001
 
using namespace std;
 
typedef unsigned long long ull;
typedef long long ll;
typedef long double ld;
 
const ll INF = 1e18, MOD = 998244353, MOD2 = 1e6 + 3;

ll d[500][500*500], a[500], n, h;
vector <ll> srt;

int main () {
	cin >> n >> h;

	for (int i = 0; i < n; i++) {
		cin >> a[i];

		srt.push_back (a[i]);

		for (int j = 1; j <= n; j++) {
			srt.push_back (a[i] + j * h);
			srt.push_back (a[i] - j * h);
		}
	}

	sort (srt.begin(), srt.end());
	srt.erase (unique (srt.begin(), srt.end()), srt.end ());

	int sz = srt.size ();

	for (int i = 0; i < sz; i++) {
		d[0][i] = abs (srt[i] - a[0]);
	}

	for (int i = 1; i < n; i++) {
		int l = 0, r = 0;
		multiset <ll> ms;
		for (int j = 0; j < sz; j++) {
			while (r < sz && srt[r] <= srt[j] + h) ms.insert (d[i-1][r++]);
			while (l < r && srt[l] < srt[j] - h) ms.erase (d[i-1][l++]);
			d[i][j] = abs (srt[j] - a[i]) + *ms.begin ();
		}
	}

	cout << *min_element (d[n-1], d[n-1] + sz);
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Incorrect 1 ms 364 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 492 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 282 ms 262148 KB Execution killed with signal 9 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Incorrect 1 ms 364 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Incorrect 1 ms 364 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Incorrect 1 ms 364 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Incorrect 1 ms 364 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Incorrect 1 ms 364 KB Output isn't correct
4 Halted 0 ms 0 KB -