제출 #766972

#제출 시각아이디문제언어결과실행 시간메모리
766972danikoynov고대 책들 (IOI17_books)C++14
50 / 100
114 ms18768 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])
        {
            if (to < i)
                mx = mx + i - to;
            int v = p[i];
            while(v != i)
            {

                to = max(to, v);
                used[v] = 1;
                v = p[v];
            }
            to = max(to, v);
            used[v] = 1;
        }
    }
	return ans + 2 * mx;
}

컴파일 시 표준 에러 (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...