# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
137796 | ekrem | Safety (NOI18_safety) | C++98 | 2043 ms | 4472 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define st first
#define nd second
#define mp make_pair
#define pb push_back
#define coc g[node][i]
#define sol (k+k)
#define sag (k+k+1)
#define orta ((bas+son)>>1)
#define mod 1000000007
#define inf 1000000000000000009
#define N 1000005
using namespace std;
typedef long long ll;
typedef pair < ll , ll > ii;
ll n, a[N], b[N], h, cvp = inf;
ii c[N];
int main(){
// freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
scanf("%lld %lld",&n ,&h);
for(ll i = 1; i <= n; i++){
scanf("%lld",a + i);
c[i] = mp(a[i], i);
}
sort(c + 1, c + n + 1);
for(ll i = 0; i <= 10000; i++){
ll ans = 0;
for(int j = 1; j <= n; j++){
if(i > a[j]){
b[j] = i;
ans += i - a[j];
} else
b[j] = a[j];
// cout << b[j] << " ";
}
for(int j = 1; j <= n; j++){
int k = c[j].nd;
if(k < n and b[k + 1] > b[k] + h){
ans += b[k + 1] - b[k] - h;
b[k + 1] = b[k] + h;
}
if(k > 1 and b[k - 1] > b[k] + h){
ans += b[k - 1] - b[k] - h;
b[k - 1] = b[k] + h;
}
}
cvp = min(cvp, ans);
}
printf("%lld\n", cvp);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |