刷题——Yogurt factory POJ
来源:互联网 发布:淘宝网中老年冬装 编辑:程序博客网 时间:2024/06/07 11:29
/*
从第0周到第n周,每周酸奶储存成本为S/1单位
c_i[i]第i周每单位酸奶成本,y_i[i]第i周需要酸奶单位
对于第j周(j>0&&j<n)y_i[j]单位的酸奶花费为min((c_i[i]+(j-i)*S)*y_i[j])(i<=j)
若从i/j周的遍历n^2超时
这时可以先预处理一下每周生产酸奶的最小花费,将c_i[]进行更新
复杂度就降为O(2*n)
*/
#include <stdio.h>
#include <algorithm>
using namespace std;
#define ll long long
int n;
ll s;
ll c_i[10005];
ll y_i[10005];
int main(){
while(~scanf("%d %I64d",&n,&s)){
for(int i=0;i<n;i++){
scanf("%I64d %I64d",&c_i[i],&y_i[i]);
}
for(int i=1;i<n;i++){
if(c_i[i-1]+s<c_i[i]){
c_i[i]=c_i[i-1]+s;
}
}
ll num=0;
for(int i=0;i<n;i++){
num+=c_i[i]*y_i[i];
}
printf("%I64d\n",num);
}
return 0;
}
从第0周到第n周,每周酸奶储存成本为S/1单位
c_i[i]第i周每单位酸奶成本,y_i[i]第i周需要酸奶单位
对于第j周(j>0&&j<n)y_i[j]单位的酸奶花费为min((c_i[i]+(j-i)*S)*y_i[j])(i<=j)
若从i/j周的遍历n^2超时
这时可以先预处理一下每周生产酸奶的最小花费,将c_i[]进行更新
复杂度就降为O(2*n)
*/
#include <stdio.h>
#include <algorithm>
using namespace std;
#define ll long long
int n;
ll s;
ll c_i[10005];
ll y_i[10005];
int main(){
while(~scanf("%d %I64d",&n,&s)){
for(int i=0;i<n;i++){
scanf("%I64d %I64d",&c_i[i],&y_i[i]);
}
for(int i=1;i<n;i++){
if(c_i[i-1]+s<c_i[i]){
c_i[i]=c_i[i-1]+s;
}
}
ll num=0;
for(int i=0;i<n;i++){
num+=c_i[i]*y_i[i];
}
printf("%I64d\n",num);
}
return 0;
}
阅读全文
0 0
- 刷题——Yogurt factory POJ
- poj 2393 —— Yogurt factory (贪心)
- POJ——2393 Yogurt factory
- poj 2393 Yogurt factory
- POJ-2393-Yogurt factory
- poj 2393 yogurt factory
- poj 2393 Yogurt factory
- POJ-2393-Yogurt factory
- POJ 2393 Yogurt factory
- POJ 2393【Yogurt factory】
- POJ 2393 Yogurt factory
- POJ 2393 Yogurt factory
- poj 2393 - Yogurt factory
- POJ 2393 Yogurt factory
- POJ 2393 Yogurt Factory
- poj 2393 Yogurt factory
- poj 2393 Yogurt factory
- POJ 2393 Yogurt factory
- 简单Cookie应用
- 作业
- (17)触发器trigger
- AtCoder Beginner Contest 070
- 今天正式写博客啦
- 刷题——Yogurt factory POJ
- Codeforces-834D The Bakery 线段树优化DP
- javascript年月日三级联动下拉框
- 8.14 免费的午餐 2692
- C++ SetTimer
- [bzoj1854][Scoi2010]游戏
- sin之舞
- openGL坐标系
- Hibernate中的悲观锁与乐观锁