結果

問題 No.464 PPAP
ユーザー tailstails
提出日時 2016-12-15 22:42:54
言語 C90
(gcc 11.4.0)
結果
AC  
実行時間 20 ms / 2,000 ms
コード長 610 bytes
コンパイル時間 976 ms
コンパイル使用メモリ 24,700 KB
実行使用メモリ 4,384 KB
最終ジャッジ日時 2023-08-20 07:55:02
合計ジャッジ時間 1,882 ms
ジャッジサーバーID
(参考情報)
judge14 / judge13
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,376 KB
testcase_01 AC 1 ms
4,380 KB
testcase_02 AC 0 ms
4,376 KB
testcase_03 AC 1 ms
4,380 KB
testcase_04 AC 1 ms
4,376 KB
testcase_05 AC 1 ms
4,380 KB
testcase_06 AC 0 ms
4,380 KB
testcase_07 AC 2 ms
4,380 KB
testcase_08 AC 1 ms
4,376 KB
testcase_09 AC 1 ms
4,376 KB
testcase_10 AC 20 ms
4,376 KB
testcase_11 AC 6 ms
4,380 KB
testcase_12 AC 9 ms
4,380 KB
testcase_13 AC 1 ms
4,376 KB
testcase_14 AC 1 ms
4,376 KB
testcase_15 AC 1 ms
4,376 KB
testcase_16 AC 1 ms
4,380 KB
testcase_17 AC 0 ms
4,376 KB
testcase_18 AC 1 ms
4,384 KB
testcase_19 AC 1 ms
4,380 KB
testcase_20 AC 1 ms
4,380 KB
testcase_21 AC 1 ms
4,376 KB
testcase_22 AC 1 ms
4,380 KB
testcase_23 AC 1 ms
4,376 KB
testcase_24 AC 0 ms
4,380 KB
testcase_25 AC 1 ms
4,380 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:2:1: warning: data definition has no type or storage class
 a[5010];b[5010];
 ^
main.c:2:1: warning: type defaults to ‘int’ in declaration of ‘a’ [-Wimplicit-int]
main.c:2:9: warning: data definition has no type or storage class
 a[5010];b[5010];
         ^
main.c:2:9: warning: type defaults to ‘int’ in declaration of ‘b’ [-Wimplicit-int]
main.c:8:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
 main(i,j,k,l,m){
 ^~~~
main.c: In function ‘main’:
main.c:8:1: warning: type of ‘i’ defaults to ‘int’ [-Wimplicit-int]
main.c:8:1: warning: type of ‘j’ defaults to ‘int’ [-Wimplicit-int]
main.c:8:1: warning: type of ‘k’ defaults to ‘int’ [-Wimplicit-int]
main.c:8:1: warning: type of ‘l’ defaults to ‘int’ [-Wimplicit-int]
main.c:8:1: warning: type of ‘m’ defaults to ‘int’ [-Wimplicit-int]
main.c:9:2: warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration]
  gets(s);
  ^~~~
main.c:10:4: warning: implicit declaration of function ‘strlen’ [-Wimplicit-function-declaration]
  l=strlen(s);
    ^~~~~~
main.c:10:4: warning: incompatible implicit declaration of built-in function ‘strlen’
main.c:10:4: note: include ‘<string.h>’ or provide a declaration of ‘strlen’
main.c:1:1:
+#include <string.h>
 char s[5010];
main.c:10:4:
  l=strlen(s);
    ^~~~~~
main.c:50:2: warning: implicit declaration of function ‘printf’ [-Wimplicit-function-declaration]
  printf("%lld",r);
  ^~~~~~
main.c:50:2: warning: incompatible implicit declaration of built-in function ‘printf’
main.c:50:2: note: include ‘<stdio.h>’ or provide a declaration of ‘printf’
main.c:1:1:
+#include <stdio.h>
 char s[5010];
main.c:50:2:
  printf("%lld",r);
  ^~~~~~
/tmp/ccAMahcD.o: In function `main':
main.c:(.text.startup+0x14): warning: the `gets' function is dangerous and should not be used.

ソースコード

diff #

char s[5010];
a[5010];b[5010];
long long r;

typedef long long H;
H rm=1000000007;

main(i,j,k,l,m){
	gets(s);
	l=strlen(s);
	H r1=0;
	H r2=0;
	H r3=1;
	for(i=0;i<l;++i){
		r1=r1*rm+s[i];
		r2=r2+r3*s[i];
		r3*=rm;
		if(r1==r2){
			H r4=0;
			H r5=0;
			H r6=1;
			for(j=i+1;j<l;++j){
				r4=r4*rm+s[j];
				r5=r5+r6*s[j];
				r6*=rm;
				if(r4==r5){
					++a[j];
				}
			}
		}
	}
	{
		H r7=0;
		H r8=0;
		H r9=1;
		for(j=j-1;j>=0;--j){
			r7=r7*rm+s[j];
			r8=r8+r9*s[j];
			r9*=rm;
			if(r7==r8){
				++b[j];
			}
		}
	}
	m=0;
	for(i=0;i<l;++i){
		m+=a[i];
		r+=m*b[i+2];
	}
	printf("%lld",r);
	return 0;
}
0