Submission #138641

#TimeUsernameProblemLanguageResultExecution timeMemory
138641MohamedAhmed04Gondola (IOI14_gondola)C++14
25 / 100
63 ms4728 KiB
#include "gondola.h"
#include <bits/stdc++.h>
//#include "grader.cpp"
using namespace std ;

int valid(int n, int arr[])
{
	int st = -1;
	for(int i = 0 ; i < n ; ++i)
	{
		if(arr[i] <= n)
		{
			st = i ;
			break ;
		}
	}
	map<int , int>mp ;
	for(int i = 0 ; i < n ; ++i)
	{
		if(mp[arr[i]] > 0)
			return 0 ;
		mp[arr[i]]++ ;
	}
	if(st == -1)
		return 1 ;
	int idx = st , cnt = 0;
	while(true)
	{
		idx++ ;
		idx %= n ;
		cnt++ ;
		if(idx == st)
			break ;
		if(arr[idx] <= n)
			continue ;
		arr[idx] = (arr[st] + cnt) % n ;
		if(arr[idx] == 0)
			arr[idx] = n ;
	}
	idx = st , cnt = 0 ;
	while(true)
	{
		idx++ ;
		idx %= n ;
		cnt++ ;
		if(idx == st)
			break ;
		int x = (arr[st] + cnt) % n ;
		if(x == 0)
			x = n ;
		if(x != arr[idx] && arr[idx] <= n)
			return 0 ;
	}
    return 1;
}

//----------------------

int replacement(int n, int arr[], int replacementSeq[])
{
	int st = -1 , MAX = *max_element(arr , arr + n);
	map<int , int>mp ;
	for(int i = 0 ; i < n ; ++i)
		mp[arr[i]] = 1 ;
	int ans = 0 ;
	for(int i = 1 ; i <= MAX ; ++i)
	{
		if(!mp[i])
		{
			replacementSeq[ans] = i ;
			ans++ ;
		}
	}
    return ans;
}

//----------------------

int countReplacement(int n, int inputSeq[])
{
  return -3;
}

Compilation message (stderr)

gondola.cpp: In function 'int replacement(int, int*, int*)':
gondola.cpp:61:6: warning: unused variable 'st' [-Wunused-variable]
  int st = -1 , MAX = *max_element(arr , arr + n);
      ^~
#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...
#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...