Submission #444158

#TimeUsernameProblemLanguageResultExecution timeMemory
444158SupersonicXylophone (JOI18_xylophone)C++14
100 / 100
139 ms320 KiB
#include "xylophone.h"
#include <bits/stdc++.h>
using namespace std;

int a[5001];

void solve(int n) {
	int d[5001];
	d[1]=0;int y=-1;
	d[2]=-query(1,2);int p=-d[2];
	for(int i=3;i<=n;i++){
		int q=query(i-1,i);
		int r=query(i-2,i);
		//cerr<<p<<' '<<q<<' '<<r<<endl;
		if(p+q!=r)y*=-1;
		p=q;d[i]=y*q;
	}
	for(int i=2;i<=n;i++)d[i]+=d[i-1];
	
	int m=1e9;
	for(int i=1;i<=n;i++)m=min(m,d[i]);
	for(int i=1;i<=n;i++)d[i]+=1-m;
	//for(int i=1;i<=n;i++)cerr<<d[i]<<' ';cerr<<endl;
	int l1,ln;
	for(int i=1;i<=n;i++){if(d[i]==1)l1=i;if(d[i]==n)ln=i;}
	if(l1>ln)for(int i=1;i<=n;i++)answer(i,n-d[i]+1);
	else for(int i=1;i<=n;i++)answer(i,d[i]);
	//cerr<<a-1<<endl;
}

Compilation message (stderr)

xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:26:2: warning: 'ln' may be used uninitialized in this function [-Wmaybe-uninitialized]
   26 |  if(l1>ln)for(int i=1;i<=n;i++)answer(i,n-d[i]+1);
      |  ^~
xylophone.cpp:26:2: warning: 'l1' 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...