Submission #1251923

#TimeUsernameProblemLanguageResultExecution timeMemory
1251923dssfsuper2Xylophone (JOI18_xylophone)C++20
100 / 100
26 ms460 KiB
#include "xylophone.h" #include <bits/stdc++.h> using namespace std; void solve(int N) { vector<int> nums={0, 0, query(1, 2)}; //0 1 for(int i = 3;i<=N;i++){ int ld = query(i-1, i); int ld2=query(i-2, i); int num=nums[i-1]+ld; if(nums[i-2]<nums[i-1]){ if(ld+nums[i-1]-nums[i-2]!=ld2)num=nums[i-1]-ld; } else{ if(ld+nums[i-2]-nums[i-1]==ld2)num=nums[i-1]-ld; } nums.push_back(num); } int mm=*min_element(nums.begin(), nums.end()); for(int i = 1;i<=N;i++)nums[i]-=mm-1; int pf, pl; for(int i = 1;i<=N;i++){ if(nums[i]==1)pf=i; if (nums[i]==N)pl=i; } if (pf>pl){ for(int i = 1;i<=N;i++)nums[i]=N-nums[i]+1; } for(int i = 1;i<=N;i++)answer(i, nums[i]); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...