Submission #201486

#TimeUsernameProblemLanguageResultExecution timeMemory
201486wilwxkXylophone (JOI18_xylophone)C++14
100 / 100
101 ms516 KiB
#include "xylophone.h"
#include <bits/stdc++.h>
using namespace std;

const int MAXN = 5e3+5;
int ans[MAXN];
int mem[MAXN];
int mn;

void solve(int n) {
	ans[0] = 0;
	int op = 1;
	for(int i = 2; i <= n; i++) {
		mem[i] = query(i-1, i);
		if(i == 2) {
			ans[i] = mem[i];
			continue;
		}
		int x = query(i-2, i);
		if(mem[i-1] >= max(mem[i], x) || mem[i] >= max(mem[i-1], x)) op *= -1;
		ans[i] = ans[i-1]+op*mem[i];
		mn = min(ans[i], mn); 
	}

	for(int i = 1; i <= n; i++) ans[i] -= (mn-1);

	bool ok = 1; int mni, mxi;
	for(int i = 1; i <= n; i++) {
		if(ans[i] == 1) mni = i;
		if(ans[i] == n) mxi = i;
	}
	if(mni > mxi) ok = 0;
	if(!ok) {
		for(int i = 1; i <= n; i++) ans[i] = n-ans[i]+1;
	}

	for(int i = 1; i <= n; i++) answer(i, ans[i]);
}

Compilation message (stderr)

xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:32:2: warning: 'mxi' may be used uninitialized in this function [-Wmaybe-uninitialized]
  if(mni > mxi) ok = 0;
  ^~
xylophone.cpp:32:2: warning: 'mni' may be used uninitialized in this function [-Wmaybe-uninitialized]
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...