Submission #136721

#TimeUsernameProblemLanguageResultExecution timeMemory
136721StevenHAncient Books (IOI17_books)C++14
0 / 100
2041 ms376 KiB
#include "books.h"
#include <cstdlib>
#include <cstdio>
using namespace std;
const int maxn=1000005;
bool vis[maxn];
bool loop[maxn];
long long minimum_walk(std::vector<int> p, int s) {

	long long ans;

	for(int i=0;i<p.size();i++)
	{
		if(!vis[i])
		{
			int k=i;
			do
			{
				k=p[i];
				ans+=abs(p[i]-i);
			}while(k!=i);
		}
	}
	for(int i=0;i<p.size();i++)
	{
		if(i==p[i])
			loop[i]=1;
		else loop[i]=0;
	}

	int k=0;
	while(loop[k]==1)k++;
	ans+=k;
	return ans;
}

Compilation message (stderr)

books.cpp: In function 'long long int minimum_walk(std::vector<int>, int)':
books.cpp:12:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<p.size();i++)
              ~^~~~~~~~~
books.cpp:24:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<p.size();i++)
              ~^~~~~~~~~
books.cpp:10:12: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
  long long ans;
            ^~~
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...