Submission #353268

#TimeUsernameProblemLanguageResultExecution timeMemory
353268arnold518Nizovi (COI14_nizovi)C++14
0 / 100
241 ms620 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

const int MAXN = 1000;
const int MAXM = 1e6;

int N, M;

int cmp(int x, int y)
{
	printf("cmp %d %d\n", x, y);
	fflush(stdout);
	int t;
	scanf("%d", &t);
	return t;
}

void rev(int l, int r)
{
	if(l>r) return;
	if(l==r) return;
	printf("reverse %d %d\n", l, r);
	fflush(stdout);
}

void end()
{
	printf("end\n");
	fflush(stdout);
}

pii A[MAXN+10];

int main()
{
	scanf("%d%d", &N, &M);

	int bef=N;
	for(int i=1; i<=N; i++)
	{
		int lo=N+1, hi=N+M+1;
		while(lo+1<hi)
		{
			int mid=lo+hi>>1;
			if(cmp(i, mid)==1) lo=mid;
			else hi=mid;
		}
		A[i]={bef, lo};
		bef=lo;
	}

	int s=1;
	for(int i=1; i<=N; i++)
	{
		rev(s, s+N-i);
		rev(s, A[i].second);
		rev(s, s+A[i].second-A[i].first);
		s+=A[i].second-A[i].first+1;
	}
	end();
}

Compilation message (stderr)

nizovi.cpp: In function 'int main()':
nizovi.cpp:48:14: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   48 |    int mid=lo+hi>>1;
      |            ~~^~~
nizovi.cpp: In function 'int cmp(int, int)':
nizovi.cpp:18:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   18 |  scanf("%d", &t);
      |  ~~~~~^~~~~~~~~~
nizovi.cpp: In function 'int main()':
nizovi.cpp:40:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   40 |  scanf("%d%d", &N, &M);
      |  ~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...