제출 #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...