Submission #961571

#TimeUsernameProblemLanguageResultExecution timeMemory
961571vjudge1Safety (NOI18_safety)C++17
7 / 100
2015 ms2628 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; #define ent "\n" const int maxn = 2e5 + 100; const ll INF = (ll)1e18 + 100; const int inf = 1e9 + 100; const int MOD = 1e9 + 7; const int maxl = 30; const int P = 31; int n, h; int a[maxn]; int b[maxn]; void test(){ cin >> n >> h; for(int i = 1; i <= n; i++){ cin >> a[i]; } ll ans = INF; for(int i = 1; i <= n; i++){ for(int j = 1; j <= n; j++){ b[j] = a[j]; } ll sum = 0; for(int j = i + 1; j <= n; j++){ if(abs(b[j] - b[j-1]) <= h) continue; sum += abs(b[j] - b[j-1]) - h; if(b[j] > b[j-1]){ b[j] = b[j-1] + h; } else{ b[j] = b[j-1] - h; } } for(int j = i - 1; j > 0; j--){ if(abs(b[j] - b[j+1]) <= h) continue; sum += abs(b[j] - b[j+1]) - h; if(b[j] > b[j+1]){ b[j] = b[j+1] + h; } else{ b[j] = b[j+1] - h; } } ans = min(ans, sum); } cout << ans; } // 6 1 // 2 10 0 2 4 3 int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t = 1; t = 1; while(t--) test(); cout << ent; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...