Submission #1061405

#TimeUsernameProblemLanguageResultExecution timeMemory
1061405ZicrusAncient Books (IOI17_books)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h>
#include "books.h"
using namespace std;

typedef long long ll;

ll minimum_walk(vector<int> p, int s) {
    ll n = p.size();
	ll res = 0;
    ll ooo = 0;
    for (int i = 0; i < n; i++) ooo += (p[i] != i);

    vector<bool> vst(n);
    ll mxId;
    for (int i = 0; i < n; i++) {
        if (vst[i]) continue;
        if (p[i] == i) {
            vst[i] = true;
            continue;
        }

        ll cur = mxId = i;
        do {
            res += abs(cur - p[cur]);
            cur = p[cur];
            ooo--;
            vst[cur] = true;
        } while (cur != i);
    }

    return 2*mxId + res;
}

Compilation message (stderr)

books.cpp: In function 'll minimum_walk(std::vector<int>, int)':
books.cpp:31:13: warning: 'mxId' may be used uninitialized in this function [-Wmaybe-uninitialized]
   31 |     return 2*mxId + res;
      |            ~^~~~~
#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...