Submission #1141577

#TimeUsernameProblemLanguageResultExecution timeMemory
1141577Noproblem29Xylophone (JOI18_xylophone)C++20
100 / 100
26 ms460 KiB
#include "xylophone.h" #include <bits/stdc++.h> using namespace std; #define ll long long static int A[5000]; int b[5005]; int e[5005]; int c[5005]; int d[5005]; void solve(int n) { for(int i=1;i+1<=n;i++){ c[i]=query(i,i+1); } for(int i=1;i+2<=n;i++){ d[i]=query(i,i+2); } b[2]=c[1]; int up=1; for(int i=3;i<=n;i++){ if(c[i-2]+c[i-1]!=d[i-2]){ up*=-1; } b[i]=b[i-1]+c[i-1]*up; } pair<int,int>mn,mx; mn={0,1}; mx={0,1}; for(int i=1;i<=n;i++){ mn=min(mn,make_pair(b[i],i)); mx=max(mx,make_pair(b[i],i)); } if(mn.second<mx.second){ for(int i=1;i<=n;i++){ answer(i,b[i]-mn.first+1); } } else{ for(int i=1;i<=n;i++){ answer(i,mx.first-b[i]+1); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...