Submission #137796

#TimeUsernameProblemLanguageResultExecution timeMemory
137796ekremSafety (NOI18_safety)C++98
3 / 100
2043 ms4472 KiB
#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)

safety.cpp: In function 'int main()':
safety.cpp:25:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld %lld",&n ,&h);
  ~~~~~^~~~~~~~~~~~~~~~~~~~
safety.cpp:27:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld",a + i);
   ~~~~~^~~~~~~~~~~~~~
#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...