제출 #282905

#제출 시각아이디문제언어결과실행 시간메모리
282905mosiashvililukaXylophone (JOI18_xylophone)C++14
100 / 100
122 ms760 KiB
#include<bits/stdc++.h>
#include "xylophone.h"
using namespace std;
int a,b,c,d,e,i,j,ii,jj,zx,xc,f[5009],mn,mx;
void solve(int n){
	c=query(1,2);
	f[1]=0;
	f[2]=c;
	mn=0;mx=c;zx=1;xc=2;
	for(i=3; i<=n; i++){
		c=query(i-1,i);
		d=query(i-2,i);
		if(f[i-2]<=f[i-1]){
			if(d==f[i-1]-f[i-2]+c){
				f[i]=f[i-1]+c;
			}else{
				f[i]=f[i-1]-c;
			}
		}else{
			if(d==f[i-2]-f[i-1]+c){
				f[i]=f[i-1]-c;
			}else{
				f[i]=f[i-1]+c;
			}
		}
		if(mn>f[i]){
			mn=f[i];
			zx=i;
		}
		if(mx<f[i]){
			mx=f[i];
			xc=i;
		}
	}
	if(zx>xc){
		for(i=1; i<=n; i++){
			f[i]=-f[i];
		}
	}
	mn=a+2;
	for(i=1; i<=n; i++){
		mn=min(mn,f[i]);
	}
	for(i=1; i<=n; i++) f[i]-=mn-1;
	for(i=1; i<=n; i++) answer(i,f[i]);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...