제출 #763650

#제출 시각아이디문제언어결과실행 시간메모리
763650vjudge1Xylophone (JOI18_xylophone)C++17
0 / 100
1 ms208 KiB
#include<bits/stdc++.h>
using namespace std;

long long a[1000001];

int query(int x, int y);
void answer(int x, int y);

void solve(int n)
{
	long long mini = INT_MAX, pos;
	a[1] = 0;	a[2] = query(1, 2);
	for(int i = 3; i <= n; ++i)
	{
		long long temp1 = query(i - 1, i), temp2 = query(i - 2, i);
		if(temp2 != temp1 + a[i - 2] - a[i - 1] && a[i-2] > a[i-1] || temp2 == temp1 + a[i - 1] - a[i - 2] && a[i-2] < a[i-1])	a[i] = a[i - 1] + temp1;
		else	a[i] = a[i - 1] - temp1;
	}
	for(int i = 1; i <= n; ++i)
	{
		if(mini > a[i])
		{
			mini = a[i];
			pos = i;
		}
	}
	for(int i = 1; i <= n; ++i)	answer(i, a[i] - pos + 1);
}

컴파일 시 표준 에러 (stderr) 메시지

xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:16:43: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   16 |   if(temp2 != temp1 + a[i - 2] - a[i - 1] && a[i-2] > a[i-1] || temp2 == temp1 + a[i - 1] - a[i - 2] && a[i-2] < a[i-1]) a[i] = a[i - 1] + temp1;
      |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
xylophone.cpp:27:45: warning: 'pos' may be used uninitialized in this function [-Wmaybe-uninitialized]
   27 |  for(int i = 1; i <= n; ++i) answer(i, a[i] - pos + 1);
      |                                        ~~~~~^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...