Submission #940754

#TimeUsernameProblemLanguageResultExecution timeMemory
940754PVM_pvmSuper Dango Maker (JOI22_dango3)C++17
0 / 100
41 ms608 KiB
#include "dango3.h" #include <bits/stdc++.h> using namespace std; int n,m; void boqn(vector<int> pozicii, int cn, int cm) { /*cout<<"davam: "<<cn<<" "<<cm<<"\n"; for (int q=0;q<pozicii.size();q++) cout<<pozicii[q]<<" "; cout<<"\n";*/ if (cm==1) { Answer(pozicii); return; } /*int l=0,r=cn*cm; vector<int> zaqu; while (l<r-1) { int mid=(l+r)/2; zaqu.clear(); for (int q=0;q<=mid;q++) zaqu.push_back(pozicii[q]); int qu=Query(zaqu); //cout<<l<<" "<<mid<<" "<<r<<" "<<qu<<"\n"; if (qu<cm/2) l=mid; else r=mid; }*/ //cout<<r<<"\n"; vector<int> pyrvo,vtoro; int r=0; for (r=0;r<cn*cm;r++) { pyrvo.push_back(pozicii[r]); if (Query(pyrvo)==cm/2) break; } for (int q=0;q<=r;q++) pyrvo.push_back(pozicii[q]); for (int q=r+1;q<cn*cm;q++) vtoro.push_back(pozicii[q]); for (int q=r-1;q>=0;q--) { int poq=pyrvo[q]; swap(pyrvo[pyrvo.size()-1],pyrvo[q]); pyrvo.pop_back(); int qu=Query(pyrvo); //cout<<"mahnah "<<poq<<" "<<" i stana "<<qu<<"\n"; if (qu<cm/2) { pyrvo.push_back(poq); swap(pyrvo[pyrvo.size()-1],pyrvo[q]); } else { vtoro.push_back(poq); } } boqn(pyrvo,cn,cm/2); boqn(vtoro,cn,cm-cm/2); } void Solve(int N, int M) { n=N; m=M; vector<int> og; for (int q=1;q<=n*m;q++) og.push_back(q); boqn(og,n,m); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...