제출 #1290435

#제출 시각아이디문제언어결과실행 시간메모리
1290435keremXylophone (JOI18_xylophone)C++20
0 / 100
1 ms332 KiB
#include "xylophone.h" #include <bits/stdc++.h> using namespace std; typedef pair<int,int> ii; void solve(int N) { int a[N+1],p[N+1]; p[1]=a[0]=0; ii mn={0,1},mx={0,1}; for(int i=1;i<N;i++){ a[i]=query(i,i+1)*(a[i-1]<0?-1:1); if(i>1){ int t=query(i-1,i+1); if(t!=a[i]+a[i-1]) a[i]=-a[i]; } p[i+1]=p[i]+a[i]; mn=min(mn,make_pair(p[i+1],i+1)); mx=max(mx,make_pair(p[i+1],i+1)); } if(mn.second>mx.second){ mn={0,1}; for(int i=1;i<N;i++){ p[i+1]=p[i]-a[i]; mn=min(mn,make_pair(p[i+1],i+1)); } } for(int i=1;i<=N;i++) answer(i,p[i]+1-mn.first); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...