結果
問題 | No.381 名声値を稼ごう Extra |
ユーザー | 👑 testestest |
提出日時 | 2019-10-31 19:37:25 |
言語 | C (gcc 12.3.0) |
結果 |
AC
|
実行時間 | 6,187 ms / 8,000 ms |
コード長 | 473 bytes |
コンパイル時間 | 117 ms |
コンパイル使用メモリ | 29,696 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-14 22:09:16 |
合計ジャッジ時間 | 6,711 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge6 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1 ms
5,248 KB |
testcase_01 | AC | 6,187 ms
5,376 KB |
コンパイルメッセージ
main.c:1:1: warning: return type defaults to 'int' [-Wimplicit-int] 1 | main(){ | ^~~~ main.c: In function 'main': main.c:4:9: warning: implicit declaration of function 'scanf' [-Wimplicit-function-declaration] 4 | scanf("%s",s); | ^~~~~ main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf' +++ |+#include <stdio.h> 1 | main(){ main.c:4:9: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch] 4 | scanf("%s",s); | ^~~~~ main.c:4:9: note: include '<stdio.h>' or provide a declaration of 'scanf' main.c:5:17: warning: implicit declaration of function 'strlen' [-Wimplicit-function-declaration] 5 | int len=strlen(s); | ^~~~~~ main.c:1:1: note: include '<string.h>' or provide a declaration of 'strlen' +++ |+#include <string.h> 1 | main(){ main.c:5:17: warning: incompatible implicit declaration of built-in function 'strlen' [-Wbuiltin-declaration-mismatch] 5 | int len=strlen(s); | ^~~~~~ main.c:5:17: note: include '<string.h>' or provide a declaration of 'strlen' main.c:23:9: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration] 23 | printf("%d",ans); | ^~~~~~ main.c:23:9: note: include '<stdio.h>' or provide a declaration of 'printf' main.c:23:9: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch] main.c:23:9: note: include '<stdio.h>' or provide a declaration of 'printf'
ソースコード
main(){ long long a[1123456]; char s[1123456]; scanf("%s",s); int len=strlen(s); int cnt=len/16; for(int i=0;i<cnt;i++)for(int k=16;k>=1;k--)a[i]=a[i]*10+(s[len-16*i-k]-48); if(len%16){ for(int k=0;k<len%16;k++)a[cnt]=a[cnt]*10+(s[k]-48); cnt++; } int ans=0; while(cnt){ ans+=__builtin_popcount(a[0]&0xFFFF); a[0]>>=16; for(int i=1;i<cnt;i++){ a[i-1]+=(a[i]&0xFFFF)*152587890625LL; a[i]>>=16; } if(!a[cnt-1])cnt--; } printf("%d",ans); }