Submission #118293

#TimeUsernameProblemLanguageResultExecution timeMemory
118293tinjyuAncient Books (IOI17_books)C++14
12 / 100
2 ms384 KiB
#include "books.h" #include <bits/stdc++.h> using namespace std; bool tag[1000005]; int a[1000005]; long long int ans; int find(long long int x) { ans+=abs(x-a[x]); //cout<<x<<" "<<ans<<" "<<tag[x]<<endl; if(tag[x]==1)return 0; tag[x]=1; if(x>a[x]) { for(int i=a[x];i<=x;i++) { if(tag[i]==0) { tag[i]=1; find(a[i]); } } } else { for(int i=x;i<=a[x];i++) { if(tag[i]==0) { tag[i]=1; find(a[i]); } } } find(a[x]); } long long minimum_walk(std::vector<int> p, int s) { int n=p.size(); for(int i=0;i<n;i++)a[i]=p[i]; int t=0; for(int i=0;i<n;i++) { if(tag[i]==0) { //cout<<i<<" "; tag[i]=1; find(a[i]); if(a[i]!=i)t=max(t,i); //cout<<ans<<endl; } } ans+=t+t; return ans; }

Compilation message (stderr)

books.cpp: In function 'int find(long long int)':
books.cpp:37:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#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...