結果
| 問題 |
No.385 カップ麺生活
|
| コンテスト | |
| ユーザー |
👑 testestest
|
| 提出日時 | 2016-07-01 23:16:45 |
| 言語 | C90 (gcc 12.3.0) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 2,000 ms |
| コード長 | 562 bytes |
| コンパイル時間 | 518 ms |
| コンパイル使用メモリ | 21,376 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-04 22:27:26 |
| 合計ジャッジ時間 | 1,292 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 32 |
コンパイルメッセージ
main.c:2:1: warning: data definition has no type or storage class
2 | i,m,n;a[30];
| ^
main.c:2:1: warning: type defaults to ‘int’ in declaration of ‘i’ [-Wimplicit-int]
main.c:2:3: warning: type defaults to ‘int’ in declaration of ‘m’ [-Wimplicit-int]
2 | i,m,n;a[30];
| ^
main.c:2:5: warning: type defaults to ‘int’ in declaration of ‘n’ [-Wimplicit-int]
2 | i,m,n;a[30];
| ^
main.c:2:7: warning: data definition has no type or storage class
2 | i,m,n;a[30];
| ^
main.c:2:7: warning: type defaults to ‘int’ in declaration of ‘a’ [-Wimplicit-int]
main.c:3:1: warning: data definition has no type or storage class
3 | prime[2000]={2,3},s=2;
| ^~~~~
main.c:3:1: warning: type defaults to ‘int’ in declaration of ‘prime’ [-Wimplicit-int]
main.c:3:19: warning: type defaults to ‘int’ in declaration of ‘s’ [-Wimplicit-int]
3 | prime[2000]={2,3},s=2;
| ^
main.c:4:1: warning: data definition has no type or storage class
4 | ma[20010];
| ^~
main.c:4:1: warning: type defaults to ‘int’ in declaration of ‘ma’ [-Wimplicit-int]
main.c:6:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
6 | x(int*a,int*b){return*a-*b;}
| ^
main.c:7:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
7 | makeprime(){
| ^~~~~~~~~
main.c:15:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
15 | main(){
| ^~~~
main.c: In function ‘main’:
main.c:19:9: warning: implicit declaration of function ‘scanf’ [-Wimplicit-function-declaration]
19 | scanf("%d %d",&m,&n);
| ^~~~~
main.c:1:1: note: include ‘<stdio.h>’ or provide a declaration of ‘scanf’
+++ |+#include <stdio.h>
1 | #define max(p,q)(p>q?p:q)
main.c:19:9: warning: incompatible implicit declaration of built-in function ‘scanf’ [-Wbuiltin-declaration-mismatch]
19 | scanf("%d %d",&m,
ソースコード
#define max(p,q)(p>q?p:q)
i,m,n;a[30];
prime[2000]={2,3},s=2;
ma[20010];
x(int*a,int*b){return*a-*b;}
makeprime(){
int i,n;
for(n=5;n<10000;n+=2){
for(i=3;i*i<=n;i+=2)if(n%i==0)break;
if(n%i)prime[s++]=n;
}
prime[s]=1e6;
}
main(){
int i,j;
long long ans=0;
makeprime();
scanf("%d %d",&m,&n);
for(i=0;~scanf("%d",a+i);i++);
a[i]=1e9;
qsort(a,n,4,x);
ma[0]=1;
for(i=0;i<10000;i++)for(j=0;j<n;j++)if(ma[i])ma[i+a[j]]=max(ma[i]+1,ma[i+a[j]]);
for(i=0;prime[i]<m;i++)if(ma[m-prime[i]])ans+=ma[m-prime[i]]-1;
printf("%lld",ans+m/a[0]);
return 0;
}
testestest