酒厂选址(codevs 1507)
題目描述?Description
Abstinence(戒酒)島的居民們酷愛一種無酒精啤酒。以前這種啤酒都是從波蘭進(jìn)口,但今年居民們想建一個(gè)自己的啤酒廠。島上所有的城市都坐落在海邊,并且由一條沿海岸線的環(huán)島高速路連接。酒廠的投資者收集了關(guān)于啤酒需求量的信息,即每天各城市消費(fèi)的啤酒桶數(shù)。另外還知道相鄰城市之間的距離。每桶啤酒每英里的運(yùn)費(fèi)是1元。日運(yùn)費(fèi)是將所需要的啤酒從酒廠運(yùn)到所有城市所必需的運(yùn)費(fèi)之和。日運(yùn)費(fèi)的多少和酒廠的選址有關(guān)。投資者想找到一個(gè)合適的城市來修建酒廠,以使得日運(yùn)費(fèi)最小。
請(qǐng)?jiān)O(shè)計(jì)一個(gè)程序:從文件bre.in?讀入城市的數(shù)目、相鄰兩城市間的距離以及每個(gè)城市消費(fèi)的啤酒桶數(shù),計(jì)算最小的日運(yùn)費(fèi),將結(jié)果寫到輸出文件bre.out中。
輸入描述?Input Description
第一行是一個(gè)整數(shù)n(5?<=?n?<=?10000)?,表示城市的數(shù)目。?城市沿高速路編號(hào),使得相鄰的城市的編號(hào)也相鄰(城市1和n也被認(rèn)為是相鄰)。?以下的n行,每行有兩個(gè)非負(fù)整數(shù)。第I+1行的數(shù)?zi、di分別是城市I每日的啤酒消費(fèi)量(桶)和從城市I沿高速路到下一個(gè)城市的距離(英里)。高速路的總長不會(huì)超過65535?英里。每座城市的日消費(fèi)量不會(huì)超過255桶。
輸出描述?Output Description
一個(gè)整數(shù),表示所需的最小日運(yùn)費(fèi)(元)。
樣例輸入?Sample Input
6
1?2
2?3
1?2
5?2
1?10
2?3
樣例輸出?Sample Output
41
/*第一次做INF開小了,數(shù)據(jù)也沒用long long,得了45分。 */ #include<cstdio> #include<iostream> #define M 10010 #define LL long long #define INF 9223372036854775807LL using namespace std; int dis[M],a[M],sum,n; LL mon[M]; int main() {scanf("%d",&n);for(int i=1;i<=n;i++){int x;scanf("%d%d",&a[i],&x);if(i!=n)dis[i+1]+=(x+dis[i]);sum+=x;}for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++){int p=dis[j]-dis[i];mon[i]+=(LL)(min(p,sum-p)*a[j]);mon[j]+=(LL)(min(p,sum-p)*a[i]);}LL ans=INF;for(int i=1;i<=n;i++)if(mon[i]<ans)ans=mon[i];printf("%lld",ans);return 0; } View Code?
轉(zhuǎn)載于:https://www.cnblogs.com/harden/p/5655878.html
總結(jié)
以上是生活随笔為你收集整理的酒厂选址(codevs 1507)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《21天学通C语言(第7版)》一2.5
- 下一篇: java生成pdf加密_java使用iT