Submission #1319631

#TimeUsernameProblemLanguageResultExecution timeMemory
1319631MuhammadSaramSuper Dango Maker (JOI22_dango3)C++20
7 / 100
293 ms752 KiB
#include <bits/stdc++.h>
#include "dango3.h"

using namespace std;

#define get Query

void Solve(int n,int m)
{
	bool lef[n*m+1]={};
	vector<int> ind[n];
	int tot=0;
	for (int i=0;i<n;i++)
	{
		vector<int> cur;
		for (int i=1;i<=n*m;i++)
			if (!lef[i])
				cur.push_back(i);
		vector<int> v;
		for (int j=0;j<i;j++) v.push_back(ind[j][0]);
		int x=-1;
		for (int ct=0;ct<m;ct++)
		{
			x++;
			for (int p=15;p>=0;p--)
			{
				if (x+(1<<p)<=cur.size())
				{
					for (int j=x;j<x+(1<<p);j++)
						v.push_back(cur[j]);
					tot++;
					if (get(v))
						for (int j=0;j<(1<<p);j++) v.pop_back();
					else
						x+=(1<<p);
				}
			}
			ind[i].push_back(cur[x]);
		}
		for (int j:ind[i]) lef[j]=1;
		if (tot>=24000 && i<60)
			cout<<1/0<<endl;
	}
	for (int j=0;j<m;j++)
	{
		vector<int> v;
		for (int i=0;i<n;i++)
			v.push_back(ind[i][j]);
		Answer(v);
	}
}

Compilation message (stderr)

dango3.cpp: In function 'void Solve(int, int)':
dango3.cpp:42:32: warning: division by zero [-Wdiv-by-zero]
   42 |                         cout<<1/0<<endl;
      |                               ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...