Submission #613936

#TimeUsernameProblemLanguageResultExecution timeMemory
613936Mr_HusanboyAncient Books (IOI17_books)C++14
22 / 100
2095 ms13264 KiB
#include "books.h"
#include<bits/stdc++.h>

using namespace std;
#define all(a) (a).begin(), (a).end()
#define vi vector<int>
#define ff first
#define ss second
#define ll long long


struct Fenwick{
    vector<int> t;
};

long long minimum_walk(vector<int> p, int s) {
    int n = p.size();
    ll tot = 0;
    vector<int> used(n);
    for(int i=0; i<n; i++){
        tot += abs(i - p[i]);
        int mn = min(i, p[i]);
        int mx = max(i, p[i]);
        for(int j = mn; j < mx; j++){
            used[j] = 1;
        }
    }
    int r = n-1;
    while(r >=0 && used[r]==0) r--;
    //cout << r << endl;
 //   cout << "done" << endl;
    ll cnt = 0;
    for(int i = 0; i <=r; i ++){
        cnt += used[i]==0;
    }
    return tot + cnt*2;
}
#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...