Submission #766965

#TimeUsernameProblemLanguageResultExecution timeMemory
766965danikoynovAncient Books (IOI17_books)C++14
12 / 100
1 ms316 KiB
#include "books.h" #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e6 + 10; int used[maxn], n; long long minimum_walk(vector<int> p, int s) { n = p.size(); int cnt = 0; ll mx = 0, ans = 0; int to = 0; for (int i = 0; i < n; i ++) { if (p[i] == i) continue; ans = ans + (ll)abs(i - p[i]); ///cout << ans << endl; if (!used[i]) { int local_max = i; int v = p[i]; while(v != i) { local_max = max(local_max, v); used[v] = 1; v = p[v]; } if (to < local_max) mx = i; to = max(to, local_max); used[v] = 1; } } return ans + 2 * mx; }

Compilation message (stderr)

books.cpp: In function 'long long int minimum_walk(std::vector<int>, int)':
books.cpp:16:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   16 |         if (p[i] == i)
      |         ^~
books.cpp:18:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   18 |             ans = ans + (ll)abs(i - p[i]);
      |             ^~~
books.cpp:11:9: warning: unused variable 'cnt' [-Wunused-variable]
   11 |     int cnt = 0;
      |         ^~~
#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...