Submission #1252464

#TimeUsernameProblemLanguageResultExecution timeMemory
1252464Mer123haba456Xylophone (JOI18_xylophone)C++20
100 / 100
26 ms692 KiB
#include <bits/stdc++.h> using namespace std; #define fast_io ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define N lli(2e5) #define MOD lli(1e9 + 7) typedef long long int lli; typedef vector<lli> vlli; typedef pair<lli, lli> plli; typedef vector<plli> vplli; typedef pair<lli, plli> pplli; typedef vector<pplli> vpplli; int query(int s,int t); void answer(int i, int a); lli m,k,q; void solve(int n){ vlli boy, kuc; vlli vect; boy.push_back(0); kuc.push_back(0); for(lli i = 2;i<=n;i++){ lli su = query(i-1,i); vect.push_back(su); if(i == 2){ boy.push_back(su); kuc.push_back(-su); continue; } lli suan = query(i-2,i); if(suan == su + vect[vect.size()-2]){ if(boy.back() > boy[boy.size()-2]) boy.push_back(boy.back() + su); else boy.push_back(boy.back() - su); if(kuc.back() > kuc[kuc.size() - 2]) kuc.push_back(kuc.back() + su); else kuc.push_back(kuc.back() - su); }else{ if(boy.back() > boy[boy.size()-2]) boy.push_back(boy.back() - su); else boy.push_back(boy.back() + su); if(kuc.back() > kuc[kuc.size() - 2]) kuc.push_back(kuc.back() - su); else kuc.push_back(kuc.back() + su); } } lli enk = 0; for(lli i = 0;i<n;i++) enk = min(enk, kuc[i]); lli bisir = 0, nsir = 0; for(lli i = 0;i<n;i++){ kuc[i] = -enk + 1 + kuc[i]; if(kuc[i] == 1) bisir = i; if(kuc[i] == n) nsir = i; } if(bisir <= nsir){ for(lli i = 1;i<=n;i++) answer(i, kuc[i-1]); return; } enk = 0; for(lli i = 0;i<n;i++) enk = min(enk, boy[i]); for(lli i = 0;i<n;i++){ boy[i] = -enk + 1 + boy[i]; answer(i + 1, boy[i]); } } /*int main() { fast_io cin >> k; solve(k); } int query(int s, int t){ cout << s << " " << t << endl; cin >> k; return k; } void answer(int i, int a){ cout << a << " "; }*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...