Submission #566287

#TimeUsernameProblemLanguageResultExecution timeMemory
566287sofapudenAncient Books (IOI17_books)C++14
0 / 100
1 ms340 KiB
#include "books.h" #include<bits/stdc++.h> using namespace std; typedef long long ll; ll minimum_walk(vector<int> p, int s) { ll su = 0; int mx = 0; int n = p.size(); vector<int> vis(n,0); vector<int> cnt(n+1,0); ll ans = 0; int cn = 0; vector<vector<int>> gr(n+1); for(int i = 0; i < n; ++i){ if(!vis[i]){ cn++; while(!vis[i]){ ans+=abs(i-p[i]); vis[i] = cn; cnt[cn]++; i = p[i]; } } } int dif = 0; vector<int> cnt2(n+1,0); for(int i = 0; i < n; ++i){ if(!cnt2[vis[i]]++)dif++; if(cnt2[vis[i]] == cnt[vis[i]])dif--; if(!dif)ans+=2; } return ans-2; }

Compilation message (stderr)

books.cpp: In function 'll minimum_walk(std::vector<int>, int)':
books.cpp:9:5: warning: unused variable 'su' [-Wunused-variable]
    9 |  ll su = 0;
      |     ^~
books.cpp:10:6: warning: unused variable 'mx' [-Wunused-variable]
   10 |  int mx = 0;
      |      ^~
#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...