結果

問題 No.3519 A/B問題
コンテスト
ユーザー pengin_2000
提出日時 2026-05-02 03:22:59
言語 C
(gcc 15.2.0)
コンパイル:
gcc-15 -O2 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
AC  
実行時間 60 ms / 2,000 ms
コード長 978 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 288 ms
コンパイル使用メモリ 38,912 KB
実行使用メモリ 30,320 KB
平均クエリ数 334.00
最終ジャッジ日時 2026-05-02 03:23:07
合計ジャッジ時間 4,078 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include<stdio.h>
int ans[1000];
int v[1000][1000];
void add(int j)
{
	int i;
	for (i = 0; i < 200; i++)
	{
		ans[i] += v[j][i];
		ans[i + 1] += ans[i] / 10;
		ans[i] %= 10;
	}
	return;
}
int main()
{
	int i, j;
	for (i = 0; i < 1000; i++)
		ans[i] = 0;
	for (j = 0; j < 1000; j++)
		for (i = 0; i < 1000; i++)
			v[j][i] = 0;
	v[0][0] = 1;
	for (j = 1; j < 400; j++)
	{
		for (i = 0; i < 202; i++)
			v[j][i] = v[j - 1][i] * 2;
		for (i = 0; i < 200; i++)
		{
			v[j][i + 1] += v[j][i] / 10;
			v[j][i] %= 10;
		}
	}
	char res[4];
	for (j = 350; j >= 0; j--)
	{
		for (i = 200; v[j][i] == 0; i--);
		if (i >= 100)
			continue;
		printf("? 1 ");
		for (; i >= 0; i--)
			printf("%d", v[j][i]);
		printf("\n");
		fflush(stdout);
		scanf("%s", res);
		if (res[0] == '>' || res[0] == '=')
			add(j);
	}
	for (i = 200; i >= 0 && ans[i] == 0; i--);
	if (i < 0)
		printf("! 0\n");
	else
	{
		printf("! ");
		for (; i >= 0; i--)
			printf("%d", ans[i]);
		printf("\n");
	}
	return 0;
}
0