Submission #90287

# Submission time Handle Problem Language Result Execution time Memory
90287 2018-12-21T05:14:09 Z mirbek01 Mountain Trek Route (IZhO12_route) C++17
0 / 100
2 ms 500 KB
# 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

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 time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 500 KB Output is correct
3 Correct 2 ms 500 KB Output is correct
4 Incorrect 1 ms 500 KB Output isn't correct
5 Halted 0 ms 0 KB -