Submission #763253

# Submission time Handle Problem Language Result Execution time Memory
763253 2023-06-22T07:14:41 Z CESxRhino Xylophone (JOI18_xylophone) C++14
0 / 100
2 ms 208 KB
#include "xylophone.h"
#include <bits/stdc++.h>
using namespace std;
int re[200005];
int a[200005];
int b[200005];
void solve(int N)
{
	for(int i = 1;i <= N - 1;i++)
	{
		a[i] = query(i,i + 1);
	}
	for(int i = 1;i <= N - 2;i++)
	{
		b[i] = query(i,i + 2);
	}
	re[1] = 1;
	for(int i = 1;i <= N - 2;i++)
	{
		if(a[i] + a[i + 1] == b[i])
		{
			re[i + 1] = re[i];
		}
		else
		{
			re[i + 1] = -re[i];
		}
	}
	a[N] = 0;
	int Min = 0;
	for(int i = N - 1;i >= 1;i--)
	{
		a[i] = a[i + 1] - re[i] * a[i];
		Min = min(Min,a[i]);
	}
	for(int i = 1;i <= N;i++)
	{
		a[i] = a[i] - Min + 1;
	}
	for(int i = 1;i <= N;i++)
	{
		if(a[i] == 1)
		{
			break;
		}
		if(a[i] == N)
		{
			for(int j = 1;j <= N;j++)
			{
				a[j] = N + 1 - a[j];
			}
		}
	}
	for(int i = 1;i <= N;i++)
	{
		answer(i,a[i]);
	}
	cout << endl;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 1 ms 208 KB Output is correct
4 Correct 2 ms 208 KB Output is correct
5 Incorrect 2 ms 208 KB Wrong Answer [7]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 1 ms 208 KB Output is correct
4 Correct 2 ms 208 KB Output is correct
5 Incorrect 2 ms 208 KB Wrong Answer [7]
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 1 ms 208 KB Output is correct
4 Correct 2 ms 208 KB Output is correct
5 Incorrect 2 ms 208 KB Wrong Answer [7]
6 Halted 0 ms 0 KB -