首先明确,至少有一个粗管子,要不然错,题目描述错误。。。。然后对输入进行解释,给出的距离是第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; }
时间: 2025-01-01 10:25:27