Submission #53099

# Submission time Handle Problem Language Result Execution time Memory
53099 2018-06-28T11:16:39 Z zetapi Gondola (IOI14_gondola) C++14
25 / 100
15 ms 1660 KB
#include "gondola.h"
#include "bits/stdc++.h"

using namespace std;

const int MAX=1e6;
const int mod=1e9;

int arr[MAX],fre[MAX];

int valid(int n, int inputSeq[])
{
  	int N=n,ok=1;
	for(int A=0;A<N;A++)
	{
		fre[inputSeq[A]]++;
		if(fre[inputSeq[A]]>1)
		 	return 0;
	}
  	for(int A=0;A<N;A++)
  	{
  	  	if(inputSeq[A]<=N)
  	  	{	
		 	ok=0;
		 	inputSeq[A]--;
		 	for(int B=A;B>=0;B--)
		 	{
			 	arr[B]=inputSeq[A];
			 	inputSeq[A]--;
			 	if(inputSeq[A]<0)
			 		inputSeq[A]+=N;
		 	}
		 	inputSeq[A]=arr[A];
		 	for(int B=A+1;B<N;B++)
		 	{
		 		inputSeq[A]++;
		 		if(inputSeq[A]>=N)
		 			inputSeq[A]=0;
		 		arr[B]=inputSeq[A];
		 	}
		 	inputSeq[A]=arr[A]+1;
		 	break;
	  	}
  	}
  	if(ok)
  	 	return 1;
  	for(int A=0;A<N;A++)
  	 	arr[A]++;
  	for(int A=0;A<N;A++)
  	{
  	  	if(inputSeq[A]<=N and arr[A]!=inputSeq[A])
  	  		return 0;	
  	}
  	return 1;
}

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

int replacement(int n, int gondolaSeq[], int replacementSeq[])
{
  	return -2;
}

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

int countReplacement(int n, int inputSeq[])
{
	if(!valid(n,inputSeq))
		return 0;
	int res=1;
	for(int A=0;A<n;A++)
	{
		if(inputSeq[A]>n+1)
		{
			res*=(inputSeq[A]-n-1);
			res%=mod;
		}
	}
	for(int A=0;A<n;A++)
	{
		if(inputSeq[A]<=n)
			break;
		if(A==n-1)
		{
			res*=n;
			res%=mod;
		}
	}
	return res;
}

/*int main()
{
	ios_base::sync_with_stdio(false);
	
	int arr[]={1,2,7,6};
	cout<<countReplacement(4,arr);
	return 0;
}*/
# Verdict Execution time Memory Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 360 KB Output is correct
3 Correct 2 ms 432 KB Output is correct
4 Correct 2 ms 448 KB Output is correct
5 Correct 2 ms 448 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 448 KB Output is correct
2 Correct 2 ms 484 KB Output is correct
3 Correct 2 ms 484 KB Output is correct
4 Correct 2 ms 488 KB Output is correct
5 Correct 2 ms 488 KB Output is correct
6 Correct 7 ms 1056 KB Output is correct
7 Correct 13 ms 1392 KB Output is correct
8 Correct 11 ms 1404 KB Output is correct
9 Correct 5 ms 1404 KB Output is correct
10 Correct 12 ms 1532 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1532 KB Output is correct
2 Correct 2 ms 1532 KB Output is correct
3 Correct 2 ms 1532 KB Output is correct
4 Correct 2 ms 1532 KB Output is correct
5 Correct 2 ms 1532 KB Output is correct
6 Correct 6 ms 1532 KB Output is correct
7 Correct 14 ms 1532 KB Output is correct
8 Correct 13 ms 1532 KB Output is correct
9 Correct 5 ms 1532 KB Output is correct
10 Correct 14 ms 1532 KB Output is correct
11 Correct 2 ms 1532 KB Output is correct
12 Correct 2 ms 1532 KB Output is correct
13 Correct 8 ms 1660 KB Output is correct
14 Correct 2 ms 1660 KB Output is correct
15 Correct 15 ms 1660 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1660 KB Integer -2 violates the range [0, 350000]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1660 KB Integer -2 violates the range [0, 350000]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1660 KB Integer -2 violates the range [0, 350000]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1660 KB Output is correct
2 Correct 2 ms 1660 KB Output is correct
3 Correct 2 ms 1660 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1660 KB Output is correct
2 Correct 2 ms 1660 KB Output is correct
3 Correct 2 ms 1660 KB Output is correct
4 Correct 2 ms 1660 KB Output is correct
5 Incorrect 2 ms 1660 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1660 KB Output is correct
2 Correct 2 ms 1660 KB Output is correct
3 Correct 2 ms 1660 KB Output is correct
4 Correct 2 ms 1660 KB Output is correct
5 Incorrect 2 ms 1660 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1660 KB Output is correct
2 Correct 2 ms 1660 KB Output is correct
3 Correct 2 ms 1660 KB Output is correct
4 Correct 2 ms 1660 KB Output is correct
5 Incorrect 2 ms 1660 KB Output isn't correct
6 Halted 0 ms 0 KB -