Submission #90287

#TimeUsernameProblemLanguageResultExecution timeMemory
90287mirbek01Mountain Trek Route (IZhO12_route)C++17
0 / 100
2 ms500 KiB
# include <bits/stdc++.h> using namespace std; const int N = 1e6 + 2; int n, k, a[N]; int main(){ scanf("%d %d", &n, &k); for(int i = 1; i <= n; i ++){ scanf("%d", a + i); } int lo = 1, hi = 1e9, m; while(lo <= hi){ int md = (lo + hi) >> 1; long long cnt = 0; for(int i = 1; i <= n; i ++){ if(a[i] < md) cnt += md - a[i]; } if(cnt <= k) lo = md + 1, m = md; else hi = md - 1; } long long bg = 0, cur = 0; for(int i = 1; i <= n; i ++){ int nxt = i + 1; if(nxt > n) nxt = 1; if(n > 2 || i == 1) bg += abs(a[i] - a[nxt]); } for(int i = 1; i <= n; i ++) a[i] = max(a[i], m); for(int i = 1; i <= n; i ++){ int nxt = i + 1; if(nxt > n) nxt = 1; if(n > 2 || i == 1) cur += abs(a[i] - a[nxt]); } cout << bg - cur << endl; }

Compilation message (stderr)

route.cpp: In function 'int main()':
route.cpp:10:12: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
       scanf("%d %d", &n, &k);
       ~~~~~^~~~~~~~~~~~~~~~~
route.cpp:13:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d", a + i);
             ~~~~~^~~~~~~~~~~~~
route.cpp:16:29: warning: 'm' may be used uninitialized in this function [-Wmaybe-uninitialized]
       int lo = 1, hi = 1e9, m;
                             ^
#Verdict Execution timeMemoryGrader output
Fetching results...