結果

問題 No.3501 Digit Products 2
コンテスト
ユーザー pengin_2000
提出日時 2026-04-19 07:16:02
言語 C
(gcc 15.2.0)
コンパイル:
gcc-15 -O2 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
WA  
実行時間 -
コード長 983 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,406 ms
コンパイル使用メモリ 38,884 KB
実行使用メモリ 30,320 KB
平均クエリ数 10.78
最終ジャッジ日時 2026-04-19 07:16:18
合計ジャッジ時間 9,138 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 44 WA * 20 RE * 8
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include<stdio.h>
int a[64], b[64];
int main()
{
	int n;
	scanf("%d", &n);
	int i, j, k;
	j = k = -1;
	for (i = 0; i < n - 1; i++)
	{
		printf("? %d %d\n", i, n - 1);
		fflush(stdout);
		scanf("%d", &b[i]);
		if (b[i] > 0)
		{
			if (j < 0)
				j = i;
			else
				k = i;
		}
	}
	if (k < 0)
	{
		if (j < 0)
		{
			printf("! -1\n");
			fflush(stdout);
		}
		else
		{
			if (b[j] > 1)
			{
				printf("! -1\n");
				fflush(stdout);
			}
			else
			{
				for (i = 0; i < n; i++)
					a[i] = 0;
				a[n - 1] = a[j] = 1;
				printf("! ");
				for (i = n - 1; i >= 0; i--)
					printf("%d", a[i]);
				printf("\n");
				fflush(stdout);
			}
		}
	}
	else
	{
		printf("? %d %d\n", j, k);
		fflush(stdout);
		int v;
		scanf("%d", &v);
		v = b[j] * b[j] / v;
		for (a[n - 1] = 0; a[n - 1] * a[n - 1] < v; a[n - 1]++);
		for (i = 0; i < n - 1; i++)
			a[i] = b[i] / a[n - 1];
		printf("! ");
		for (i = n - 1; i >= 0; i--)
			printf("%d", a[i]);
		printf("\n");
		fflush(stdout);
	}
	return 0;
}
0