小学奥数 自来水供给

首先明确,至少有一个粗管子,要不然错,题目描述错误。。。。然后对输入进行解释,给出的距离是第i个村子和第i-1个村子的距离。暴力枚举每个村子即可

#include<iostream>
#include<cstdio>
int n,a[110],ans=100000000;
using namespace std;
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
      scanf("%d",&a[i]);
      a[i]+=a[i-1];
    }
    for(int i=1;i<=n;i++){
      int temp=0;
      temp+=a[i]*8000;
      for(int j=i+1;j<=n;j++)
          temp+=(a[j]-a[i])*2000;
      ans=min(ans,temp);
    }
    cout<<ans;
}
posted @ 2015-10-17 11:22  Martrix99  阅读(268)  评论(0编辑  收藏  举报