Submission #1029629

#TimeUsernameProblemLanguageResultExecution timeMemory
1029629shenfe1Super Dango Maker (JOI22_dango3)C++17
22 / 100
1100 ms1200 KiB
#include "dango3.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define all(v) v.begin(),v.end() #define sz(s) (int)s.size() #define ppb pop_back mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); // mt19937 rng(1231229); void Solve(int N, int M){ set<int> cur; for(int i=1;i<=N*M;i++){ cur.insert(i); } vector<vector<int>> res; for(int i=1;i<=N;i++){ int prev=0; vector<int> nw; for(int j=1;j<=M;j++){ vector<int> cr; for(int x:cur)cr.pb(x); int l=prev,r=sz(cr)-1,rs=sz(cr); while(l<=r){ int m=(l+r)/2; vector<int> ask; for(auto vec:res)ask.pb(vec[0]); for(int j=0;j<=m;j++)ask.pb(cr[j]); if(Query(ask)>=1){ r=m-1; rs=m; } else{ l=m+1; } } // cout<<rs<<" "<<sz(cur)<<"\n"; cur.erase(cr[rs]); prev=rs; nw.pb(cr[rs]); } res.pb(nw); } for(int i=0;i<M;i++){ vector<int> ans; for(int j=0;j<N;j++){ ans.pb(res[j][i]); } Answer(ans); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...