結果

問題 No.1729 ~サンプルはちゃんと見て!~ 16進数と8進数(1)
コンテスト
ユーザー kotatsugame
提出日時 2021-11-05 21:32:04
言語 C++14
(gcc 15.3.0 + boost 1.92.0 + ACL)
コンパイル:
g++-15 -O2 -fplugin=/usr/lib/yukicoder/noavx512-gcc15.so -lm -std=c++14 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 1 ms / 2,000 ms
+ 757µs
コード長 585 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 407 ms
コンパイル使用メモリ 82,880 KB
実行使用メモリ 9,912 KB
最終ジャッジ日時 2026-10-15 06:09:27
合計ジャッジ時間 1,838 ms
ジャッジサーバーID
(参考情報)
judge5_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 25
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp:6:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    6 | main()
      | ^~~~

ソースコード

diff #
raw source code

#include<iostream>
#include<map>
using namespace std;
string N;
int T[1<<17];
main()
{
	cin>>N;
	int mx=0;
	for(int i=0;i<N.size();i++)
	{
		int c=N[i]-'A'+10;
		int n=N.size()-i-1;
		n*=4;
		c<<=n%3;
		n/=3;
		while(c>0)
		{
			T[n]+=c%8;
			if(mx<n)mx=n;
			c/=8;
			n++;
		}
	}
	int cnt[8]={};
	int mxc=0;
	for(int i=0;i<=mx;i++)
	{
		if(T[i]>=8)
		{
			T[i+1]+=T[i]/8;
			T[i]%=8;
			if(mx<i+1)mx=i+1;
		}
		cnt[T[i]]++;
		if(mxc<cnt[T[i]])mxc=cnt[T[i]];
	}
	int z=0;
	for(int i=0;i<8;i++)if(cnt[i]==mxc)z++;
	for(int i=0;i<8;i++)if(cnt[i]==mxc)
	{
		cout<<i<<(--z?" ":"\n");
	}
}
0