結果
| 問題 |
No.3 ビットすごろく
|
| コンテスト | |
| ユーザー |
kou74123698
|
| 提出日時 | 2019-09-24 23:36:34 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 529 bytes |
| コンパイル時間 | 780 ms |
| コンパイル使用メモリ | 56,176 KB |
| 実行使用メモリ | 6,948 KB |
| 最終ジャッジ日時 | 2024-09-19 14:50:05 |
| 合計ジャッジ時間 | 1,398 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 5 WA * 28 |
ソースコード
#include <iostream>
#include <cstring>
using namespace std;
template<class T> inline bool chmin(T& a,T b){if(a>b){a=b;return 1;}return 0;}
int sgrk[10051];
int dp[20001];
int main(){
int n;
cin >> n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j*=2){
if((i & j)!=0) sgrk[i]++;
}
}
memset(dp,1000000,sizeof(dp));
dp[1]=1;
for(int i=1;i<=n;i++){
chmin(dp[i+sgrk[i]],dp[i]+1);
if(i-sgrk[i]>0)chmin(dp[i-sgrk[i]],dp[i]+1);
}
cout << dp[n] << endl;
}
kou74123698