제출 #292728

#제출 시각아이디문제언어결과실행 시간메모리
292728Saboon고대 책들 (IOI17_books)C++17
0 / 100
1 ms384 KiB
//#include "books.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e6 + 10;

bool pre[maxn], suf[maxn];

long long minimum_walk(vector<int> p, int s){
	int n = p.size();
	for (int i = 0; i < n; i++){
        if (p[i] != i)
            break;
        pre[i] = 1;
	}
	for (int i = n-1; i >= 0; i--){
        if (p[i] != i)
            break;
        suf[i] = 1;
	}
	set<int> S;
	ll answer = 0;
	for (int i = 0; i < n-1; i++){
        S.insert(p[i]);
        if (!S.empty() and *S.begin() == i)
            S.erase(S.begin());
        int cnt = 0, q = S.size();
        if (i < s)
            cnt = max(cnt, 1-pre[i]);
        else
            cnt = max(cnt, 1-suf[i+1]);
        answer += 2*cnt;
	}
	return answer;
}

컴파일 시 표준 에러 (stderr) 메시지

books.cpp: In function 'long long int minimum_walk(std::vector<int>, int)':
books.cpp:27:22: warning: unused variable 'q' [-Wunused-variable]
   27 |         int cnt = 0, q = S.size();
      |                      ^
#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...