Submission #1198658

#TimeUsernameProblemLanguageResultExecution timeMemory
1198658woodMinerals (JOI19_minerals)C++20
25 / 100
137 ms952 KiB
#include "minerals.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back

void dac(int n, int l, int r, vector<int> &v, int a[]){
  cerr<<r<<' '<<l<<'\n';
  cerr<<"this is v: ";
  for(int x : v) cerr<<x<< ' ';
  cerr<<endl;
  if(r-l==1){
    cerr<<"pussy\n";
    if(v.empty()){
      cerr<<"tehchelek\n";
    }
    a[l]=v[0];
    return;
  }
  int m = (r-l)/2;
  for(int i = l; i<l+m; i++) Query(i+1);
  int cur = m;
  vector<int> v1,v2;
  for(int x : v){
    int k = Query(x+1);
    if(k>cur){
      v2.pb(x);
    }
    else{
      v1.pb(x);
    }
    Query(x+1);
  }
  for(int i = l; i<l+m; i++) Query(i+1);
  dac(n,l,l+m,v1,a);
  dac(n,l+m,r,v2,a);
}

void Solve(int N) {
  int n = N;
  int a[n];
  vector<int> v; for(int i = 0; i<N; i++) v.pb(i+N);
  dac(N,0,N,v,a);
  for(int i = 0; i<n; i++){
    Answer(i+1,a[i]+1);
  }
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...