QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#263467#7833. Binary StringzqsWA 0ms1572kbC++141.3kb2023-11-24 21:11:212023-11-24 21:11:22

Judging History

This is the latest submission verdict.

  • [2023-11-24 21:11:22]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 1572kb
  • [2023-11-24 21:11:21]
  • Submitted

answer

#include <cstdio>
#include <cstring>
#include <random>
#include <ctime>

std::mt19937 rnd(time(NULL));
int adjust(int x) {
	if (x <= 0) x = 0;
	else x = 1;
	return x;
}
int sum[1005][1005], real[1005][1005], buc[1005], n = 1000, m = 500;
int a[1005];
bool vis[1005][1005];
inline bool ask(int l, int r) {
	if (!vis[l][r]) {
		printf("? %d %d\n", l, r);
		fflush(stdout);
//		if(rnd()&1)sum[l][r]=a[r]-a[l-1];
//		else sum[l][r]=rnd()%(r-l+2);
		scanf("%d", &sum[l][r]);
		vis[l][r] = true;
	}
	return sum[l][r];
}

int main() {
	for (int len = m - 1; len <= m; ++ len) {break;
		for (int i = 1; i + len - 1 <= n; ++ i) {
			memset(buc, 0, sizeof buc);
			int j = i + len - 1, val = 0, major = 0;
			for (int k = i; k < j; ++ k) {
				ask(i, k), ask(k + 1, j);
				val = sum[i][k] + sum[k + 1][j];
				if (val <= j - i + 1) {
					++ buc[val];
					if (buc[major] < buc[val]) major = val;
				}
				if (buc[major] > 12) break;
			}
			real[i][j] = major;
		}
	}
	printf("! ");
	for (int i = 1; i <= n; ++ i) {
		if (i <= n - m + 1) printf("%d", adjust(real[i][i + m - 1] - real[i][i + m - 2]));
		else printf("%d", adjust(real[i - m + 1][i] - real[i - m + 2][i]));
	}
	puts("");
//	for(int i=1;i<=n;++i)printf("%d",a[i]-a[i-1]);
	fflush(stdout);
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 1572kb

input:


output:

! 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

result:

wrong answer 1-st bit is incorrect. Expected 1, found: 0