結果
問題 |
No.45 回転寿司
|
ユーザー |
![]() |
提出日時 | 2018-03-30 09:37:39 |
言語 | C (gcc 13.3.0) |
結果 |
MLE
|
実行時間 | - |
コード長 | 798 bytes |
コンパイル時間 | 654 ms |
コンパイル使用メモリ | 28,800 KB |
実行使用メモリ | 813,184 KB |
最終ジャッジ日時 | 2024-06-26 00:21:02 |
合計ジャッジ時間 | 3,748 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 4 |
other | MLE * 1 -- * 29 |
ソースコード
#include <stdio.h> #include <stdlib.h> int maxv(int n, int v[]){ int i, maxa, maxb; // for(i=0;i<n-1;i++) printf("%d ", *(v+i)); if(n==0) return v[0]; if(n==1) return v[1]>v[0]?v[1]:v[0]; maxa=maxv(n-3,v)+v[n-1]; maxb=maxv(n-2,v); return maxa>maxb?maxa:maxb; } int main(void) { // your code goes here int i, n; int *v; scanf("%d",&n); v = (int *)malloc(sizeof(int) * n); if(v==NULL) exit(0); for(i=0;i<n-1;i++){ scanf("%d ",v+i); } scanf("%d",v+n-1); printf("%d",maxv(n,v)); return 0; }