# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
70240 | E869120 | Ancient Books (IOI17_books) | C++14 | 303 ms | 107868 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "books.h"
#include <bits/stdc++.h>
using namespace std;
int n,c[1000009];bool used[1000009];
long long minimum_walk(vector<int> p, int s) {
n=p.size();
long long sum=0;
for(int i=0;i<n;i++){
if(used[i]==true || i==p[i]) continue;
int cx=i, maxn=0;
while(true){
sum+=abs(cx-p[cx]);used[cx]=true;maxn=max(maxn,cx);
cx=p[cx];if(cx==i) break;
}
c[i]++;c[maxn]--;
}
for(int i=1;i<=n;i++) c[i]+=c[i-1];
long long L=0;bool flag=false;
for(int i=n;i>=0;i--){
if(c[i]==1) flag=true;
if(flag==true && c[i]==0) L++;
}
return sum+L*2;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |