UVa11400
2015-10-11 11:06
309 查看
d[i]=min{d[j]+(s[i]-s[j])*c[i]+k[i]}
#include<bits/stdc++.h>
using namespace std;
#define maxn 1010
struct lamp{
int v,k,c,l;
}a[maxn];
int n,v1,k1,c1,l1;
int s[maxn];
int d[maxn];
bool cmp(lamp a1,lamp a2){
return a1.v<a2.v;
}
int main()
{
while(scanf("%d",&n)!=EOF){
if(n==0) break;
memset(s,0,sizeof(s));
memset(d,0,sizeof(d));
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++)
{
scanf("%d%d%d%d",&v1,&k1,&c1,&l1);
a[i].v=v1;
a[i].k=k1;
a[i].c=c1;
a[i].l=l1;
}
sort(a+1,a+n+1,cmp);
s[0]=0;
for(int i=1;i<=n;i++)
{
s[i]=s[i-1]+a[i].l;
}
d[0]=0;
for(int i=1;i<=n;i++)
for(int j=0;j<i;j++)
{
if(j==-0) d[i]=(s[i])*a[i].c+a[i].k;
else d[i]=min(d[j]+(s[i]-s[j])*a[i].c+a[i].k,d[i]);
}
printf("%d\n",d
);
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
#define maxn 1010
struct lamp{
int v,k,c,l;
}a[maxn];
int n,v1,k1,c1,l1;
int s[maxn];
int d[maxn];
bool cmp(lamp a1,lamp a2){
return a1.v<a2.v;
}
int main()
{
while(scanf("%d",&n)!=EOF){
if(n==0) break;
memset(s,0,sizeof(s));
memset(d,0,sizeof(d));
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++)
{
scanf("%d%d%d%d",&v1,&k1,&c1,&l1);
a[i].v=v1;
a[i].k=k1;
a[i].c=c1;
a[i].l=l1;
}
sort(a+1,a+n+1,cmp);
s[0]=0;
for(int i=1;i<=n;i++)
{
s[i]=s[i-1]+a[i].l;
}
d[0]=0;
for(int i=1;i<=n;i++)
for(int j=0;j<i;j++)
{
if(j==-0) d[i]=(s[i])*a[i].c+a[i].k;
else d[i]=min(d[j]+(s[i]-s[j])*a[i].c+a[i].k,d[i]);
}
printf("%d\n",d
);
}
return 0;
}
相关文章推荐
- Debian安装memcached和php5-memcache模块
- 思想的启蒙与宽容
- 构造方法细谈
- HDU 3127 WHUgirls(完全背包)
- ubuntu 14.04 如何设置静态ip
- Leetcode Sort Colors
- 理解多线程
- Qt中实现删除文件某一行内容
- 理解JMS规范中消息的传输模式和消息持久化
- 关于值传递的若干问题
- 六、机器学习系统设计笔记之分类II情感分析
- TruSeq 应该指的是试剂盒名字 NEB
- lintcode 容易题:Unique Characters 判断字符串是否没有重复字符
- 图解Linux命令之--alias命令
- enctype=“multipart/form-data”的使用
- 项目整体管理、项目范围管理知识点
- 【软考】之强实体、弱实体
- 冒泡排序
- SimpleCropView 裁剪图片
- mysql存储引擎