[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
メール
|
1-
101-
201-
301-
401-
501-
601-
701-
801-
901-
1001-
1101-
1201-
1301-
1401-
1501-
1601-
1701-
1801-
1901-
2001-
2101-
2201-
2301-
2401-
2501-
2601-
2701-
2801-
2901-
3001-
3101-
3201-
3301-
3401-
3501-
3601-
3701-
3801-
3901-
4001-
4101-
4201-
4301-
4401-
4501-
4601-
4701-
4801-
4901-
5001-
5101-
5201-
5301-
5401-
この機能を使うにはJavaScriptを有効にしてください
|
管理人の独り言(プログラミング関連)
1524
:
◆adhRKFl5jU
:2009/03/01(日) 18:30:47
jid25
問題番号 9
点数 100
-----
#include <stdio.h>
#define INF 1000000001
#define min(x,y) (x<y?x:y)
#define N 3000
#define D 365
int val[D][N];
int mini[D][N][2];
main(){
int n,d;
int i,j,k,l;
int ans;
scanf("%d%d",&n,&d);
for(i=0;i<d;i++){
for(j=0;j<n;j++){
scanf("%d",&val[i][j]);
}
}
for(j=0;j<n;j++){
mini[0][j][0]=val[0][j];
mini[0][j][1]=INF;
}
for(i=1;i<d;i++){
int tmpmini,tmpj;
for(j=0;j<n;j++){
mini[i][j][1]=min(mini[i-1][j][0]+val[i][j]*9/10,mini[i-1][j][1]+val[i][j]*7/10);
}
tmpmini=INF;
for(j=0;j<n;j++){
tmpmini=min(tmpmini,min(mini[i-1][j][0],mini[i-1][j][1]));
}
for(j=0;j<n;j++){
mini[i][j][0]=tmpmini+val[i][j];
}
}
ans=INF;
for(j=0;j<n;j++){
ans=min(ans,min(mini[d-1][j][0],mini[d-1][j][1]));
}
printf("%d\n",ans);
}
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板