Submission #1356530

#TimeUsernameProblemLanguageResultExecution timeMemory
1356530settopMechanical Doll (IOI18_doll)C++20
18 / 100
9 ms1964 KiB
#include "doll.h"
#include<bits/stdc++.h>

using namespace std;
#define ll long long
#define fall(i,a,b) for(int i=a;i<=b;i++)
#define rfall(i,a,b) for(int i=a;i>=b;i--)
#define sz(x) (int) x.size()
#define pb push_back
#define all(x) x.begin(),x.end()
const int MAXN=5e5+10;
const ll inf=1e17;
typedef pair<int,int> pii;

int n,X[MAXN],Y[MAXN],cur;
vector<int> resp;
void create_circuit(int M, std::vector<int> A){
  n=sz(A);
 
  bool ok=0;
  rfall(i,20,0){
    if(n&(1<<i)){
      cur++;
      X[cur]=1;
      if(i) Y[cur]=-(cur+1);
      ok=1;
      
      continue;
    }
    if(!ok)continue;
    cur++;
    X[cur]=-1;
    if(i) Y[cur]=-(cur+1);
  }
  resp={-1,-1};
  vector<int> x(cur),y(cur);
  fall(i,0,cur-1) x[i]=X[i+1],y[i]=Y[i+1];
  answer(resp,x,y);
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...