Submission #722052

#TimeUsernameProblemLanguageResultExecution timeMemory
722052MohammadAghilSuper Dango Maker (JOI22_dango3)C++17
100 / 100
1230 ms880 KiB
#include <bits/stdc++.h>
#include "dango3.h"
using namespace std;
#define rep(i,l,r) for(int i = (l); i < (r); i++)
#define per(i,r,l) for(int i = (r); i >= (l); i--)
#define all(x) begin(x), end(x)
#define sz(x) (int)size(x)
#define pb push_back
#define ff first
#define ss second
typedef long long ll;
typedef pair<int, int> pp;

void dbg(){
     cerr << endl;
}
template<typename H, typename... T> void dbg(H h, T... t){
     cerr << h << ", ";
     dbg(t...);
}

void IOS(){
     cin.tie(0) -> sync_with_stdio(0);
     #ifndef ONLINE_JUDGE
          // freopen("inp.txt", "r", stdin);
          // freopen("out.txt", "w", stdout);
          #define er(...) cerr << __LINE__ << " <" << #__VA_ARGS__ << ">: ", dbg(__VA_ARGS__)
     #else
          #define er(...) 0
     #endif
}
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

const ll mod = 998244353, maxn = 2e5 + 5, lng = 20, inf = ll(1e9) + 5;
ll pw(ll a, ll b){
     if(b == 1) return a;
     ll k = pw(a, b>>1);
     return k*k%mod*(b&1ll?a:1ll)%mod;
}

int n;

void slv(vector<int> a){
     int m = sz(a)/n;
     if(m == 1){
          Answer(a);
          return;
     }
     int mid = m>>1;
     vector<bool> del(sz(a));
     vector<int> ret[2];
     rep(i,0,sz(a)){
          del[i] = true;
          vector<int> tmp;
          rep(j,0,sz(a)){
               if(!del[j]){
                    tmp.pb(a[j]);
               }
          }
          if(Query(tmp) < mid){
               del[i] = false;
          }
          ret[del[i]].pb(a[i]);
     }
     slv(ret[0]);
     slv(ret[1]);
}

void Solve(int n, int m){
     ::n = n;
     vector<int> a(n*m);
     iota(all(a), 1);
     slv(a);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...