Submission #51342

#TimeUsernameProblemLanguageResultExecution timeMemory
51342KieranHorganCATS (NOI14_cats)C++17
4 / 25
1568 ms63388 KiB
#pragma GCC optimize("O3")
#include <bits/stdc++.h>

using namespace std;
#define endl '\n'
#define ll long long
#define int long long
#define ld long double
#define pii pair<int,int>
#define rand() abs((rand()<<15)|rand())
#define randll() abs(((long long)rand()<<30)|rand())

signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long seed;
  asm("rdtsc" : "=A"(seed));
  srand(seed);

  int q;
  cin >> q;
  while(q--) {
    int X, L, N;
    cin >> X >> L >> N;
    int counter = X;
    vector<int> s1(1000000, 0), s2(1000000, 0);
    int xo = 0, x;
    while(counter) {
      s2.push_back(s1.back() ^ xo);
      s1.pop_back();
      xo ^= 1;
      if(s2.back() > L) {
        counter--;
      } else {
        s2.push_back(N);
        s2.push_back(N);
        x = s2.back(); s2.pop_back(); s2.back() += x;
        x = s2.back(); s2.pop_back(); s2.back() += x;
        s1.push_back(s2.back()^xo);
        s1.push_back(s2.back()^xo);
        s2.pop_back();
        s2.pop_back();
      }
    }
    cout << s2.back() << endl;
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...