Submission #200379

#TimeUsernameProblemLanguageResultExecution timeMemory
200379wilwxkSafety (NOI18_safety)C++14
0 / 100
59 ms2876 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int n, x; priority_queue<int> l; priority_queue<int, vector<int>, greater<int> > r; int llz, rlz; ll ans; int main() { scanf("%d %d", &n, &x); for(int i = 1; i <= n; i++) { int val; scanf("%d", &val); if(i == 1) { l.push(val); r.push(val); continue; } llz -= x; rlz += x; if(val <= l.top()+llz) { l.push(val-llz); l.push(val-llz); r.push(l.top()+llz-rlz); l.pop(); } else { r.push(val-rlz); r.push(val-rlz); l.push(r.top()+rlz-llz); r.pop(); } ans += r.top()+rlz-l.top()-llz; // printf("%d >> %d %d >> %d %d >> %lld\n", i, l.top(), r.top(), llz, rlz, ans); } printf("%lld\n", ans); }

Compilation message (stderr)

safety.cpp: In function 'int main()':
safety.cpp:12:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &n, &x);
  ~~~~~^~~~~~~~~~~~~~~~~
safety.cpp:14:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   int val; scanf("%d", &val);
            ~~~~~^~~~~~~~~~~~
#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...