Submission #921095

#TimeUsernameProblemLanguageResultExecution timeMemory
921095salmonAncient Books (IOI17_books)C++14
50 / 100
109 ms9500 KiB
#include <cstdio> #include <vector> #include <bits/stdc++.h> using namespace std; long long minimum_walk(vector<int> p, int s) { bool done[1100100]; int N = p.size(); int un = N; long long int soom = 0; int i = 0; /*while(un != 0){ if(start ) }*/ int fre = 0; for(int i = 0; i < N; i++){ if(done[i]) continue; if(i > fre){ soom += 2; } fre = max(fre,i); int j = p[i]; soom += abs(j - i); while(j != i){ int temp = j; fre = max(fre,j); done[j] = true; j = p[j]; soom += abs(temp - j); } } for(int i = N - 1; i > 0; i--){ if(p[i] != i){ break; } soom -= 2; } return soom;}

Compilation message (stderr)

books.cpp: In function 'long long int minimum_walk(std::vector<int>, int)':
books.cpp:4:121: warning: unused variable 'un' [-Wunused-variable]
    4 | using namespace std; long long minimum_walk(vector<int> p, int s) {    bool done[1100100];    int N = p.size();     int un = N;   long long int soom = 0;     int i = 0;     /*while(un != 0){        if(start )    }*/    int fre = 0;      for(int i = 0; i < N; i++){        if(done[i]) continue;         if(i > fre){            soom += 2;        }         fre = max(fre,i);        int j = p[i];        soom += abs(j - i);        while(j != i){            int temp = j;            fre = max(fre,j);            done[j] = true;            j = p[j];            soom += abs(temp - j);        }    }     for(int i = N - 1; i > 0; i--){        if(p[i] != i){            break;        }        soom -= 2;    }       return soom;}
      |                                                                                                                         ^~
books.cpp:4:163: warning: unused variable 'i' [-Wunused-variable]
    4 | using namespace std; long long minimum_walk(vector<int> p, int s) {    bool done[1100100];    int N = p.size();     int un = N;   long long int soom = 0;     int i = 0;     /*while(un != 0){        if(start )    }*/    int fre = 0;      for(int i = 0; i < N; i++){        if(done[i]) continue;         if(i > fre){            soom += 2;        }         fre = max(fre,i);        int j = p[i];        soom += abs(j - i);        while(j != i){            int temp = j;            fre = max(fre,j);            done[j] = true;            j = p[j];            soom += abs(temp - j);        }    }     for(int i = N - 1; i > 0; i--){        if(p[i] != i){            break;        }        soom -= 2;    }       return soom;}
      |                                                                                                                                                                   ^
#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...