Submission #1290485

#TimeUsernameProblemLanguageResultExecution timeMemory
1290485dirtblockXylophone (JOI18_xylophone)C++20
0 / 100
0 ms332 KiB
#include<bits/stdc++.h>
#include "xylophone.h"
using namespace std;

void solve(int n) {
	vector<int> a(n+1,0);
	a[1]=query(1,2);
	for(int i=2; i<=n; i++) {
		int x1=query(i,i+1);
		int x2=query(i-1,i+1);
		a[i]=a[i-1]+x1*((abs(x1-x2)==abs(a[i-1]-a[i-2]))==a[i-1]>a[i-2]? 1:-1);
	}
	int mn=0,mx=0;
	for(int i=1; i<=n; i++) {
		if(a[i]<a[mn]) mn=i;
		if(a[i]>a[mx]) mx=i;
	}
	bool ok=(mn<mx);
	for(int i=1; i<=n; i++) {
		answer(i,(ok? a[i-1]+1-mn:n-a[i-1]+mn));
	}

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...