This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define sp " "
#define endl "\n"
#define f1(i, x) for(auto &i : x)
#define f2(i, x, n) for(int i = n; i < x; i++)
typedef long long ll;
using namespace std;
void push(deque<ll> &s, ll a){
if(a < 0){
f1(i, s) i ^= 1;
} else s.push_front(a);
}
void solve(){
ll x, l, n;
cin >> x >> l >> n;
deque<ll> s1, s2;
ll c = x;
ll f = 0;
while(c){
push(s2, s1.empty() ? f : s1.front());
if(s1.size()) s1.pop_front();
f1(i, s1){
i ^= 1;
f ^= 1;
}
if(s2.front() > l){
c--;
if(!c) cout << s2.front() << endl;
} else {
ll x = 2 * n + s2.front();
s2.pop_front();
if(s2.size()) s2.pop_front();
push(s1, x);
push(s1, x);
}
}
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin >> t;
while(t--) solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |