Submission #1048550

#TimeUsernameProblemLanguageResultExecution timeMemory
1048550pccAncient Books (IOI17_books)C++17
50 / 100
82 ms20108 KiB
#include "books.h" #include <bits/stdc++.h> using namespace std; #define ll long long const int mxn = 1e6+10; int N; int l[mxn],r[mxn]; long long minimum_walk(std::vector<int> p, int s) { ll ans = 0; N = p.size(); for(int i = 0;i<N;i++){ if(p[i] == i)continue; int a = i,b = p[i]; if(a<b){ l[a]++; l[b]--; } else{ r[b]++; r[a]--; } } for(int i = 1;i<N;i++){ l[i] += l[i-1]; r[i] += r[i-1]; } int rp = -1; for(int i = 0;i+1<N;i++){ if(max(l[i],r[i]) != 0)rp = i; } for(int i = 0;i+1<N;i++){ if(rp<i)break; ans += max({l[i],r[i],1})<<1; } return ans; }
#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...