Submission #58216

#TimeUsernameProblemLanguageResultExecution timeMemory
58216ruhanhabib39Ancient Books (IOI17_books)C++17
50 / 100
209 ms103148 KiB
#include <vector>
#include <cstdlib>
#include <algorithm>
#include "books.h"

long long minimum_walk(std::vector<int> p, int s) {
   if(s) return 0;
   while(p.size() && p.back() == p.size()-1) p.pop_back();

   long long res = 0;
   for(int i = 0; i < (int)p.size(); i++) {
      res += abs(p[i] - i);
   }
   int r = 0;
   for(int i = 0; i < (int)p.size()-1; i++) {
      r = std::max(r, p[i]);
      if(i == r) res += 2;
   }
   return res;
}

Compilation message (stderr)

books.cpp: In function 'long long int minimum_walk(std::vector<int>, int)':
books.cpp:8:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    while(p.size() && p.back() == p.size()-1) p.pop_back();
                      ~~~~~~~~~^~~~~~~~~~~~~
#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...