【杭电6011】BC-Lotus and Characters
2017-01-21 20:39
399 查看
Lotus and Characters
Accepts: 478Submissions: 815
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 262144/131072 K (Java/Others)
问题描述
Lotus有$n$种字母,给出每种字母的价值以及每种字母的个数限制,她想构造一个任意长度的串。 定义串的价值为:第1位字母的价值*1+第2位字母的价值*2+第3位字母的价值*3…… 求Lotus能构造出的串的最大价值。(可以构造空串,因此答案肯定$\geq 0$)
输入描述
第一行是数据组数$T(0 \leq T \leq 1000)$。 对于每组数据,第一行一个整数$n(1 \leq n \leq 26)$,接下来$n$行,每行2个整数$val_i,cnt_i(|val_i|,cnt_i\leq 100)$,分别表示第$i$种字母的价值和个数限制。
输出描述
对于每组数据,输出一行一个整数,表示答案。
输入样例
2 2 5 1 6 2 3 -5 3 2 1 1 1
输出样例
35 5
题解:当然是先将每种字母按价值从小到大排序,注意有时候加上负数总价值最大,并不是只有大于等于0的从小到大排序价值最大
例如:3
-1 3
2 1
1 1
价值为8
code:
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; struct p{ int val,num; }q[100]; bool cmp(p a,p b){ return a.val<b.val; } int main() { int t,n,sum1; scanf("%d",&t); while(t--){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d",&q[i].val,&q[i].num); sort(q+1,q+n+1,cmp); int s=0,sum=0,faut=0,vis; for(int i=1;i<=n;i++) { if(q[i].val>=0) { vis=i;//记录第一个大于等于0的位置 for(int j=0;j<q[i].num;j++) sum=sum+q[i].val*(++s); } } while(vis>=0){ for(int i=1;i<=q[vis].num;i++){ //逐个加入负数,直到sum出现下降趋势 //每种数不一定全部加入 sum1=0;s=1; for(int l=0;l<i;l++) sum1+=q[vis].val*(s++); for(int j=vis+1;j<=n;j++){ for(int k=0;k<q[j].num;k++) sum1+=q[j].val*(s++); } if(sum<sum1) sum=sum1; else break; } vis--; } printf("%d\n",sum); } return 0; }
相关文章推荐
- HDU 6011 BC 91 Lotus and Characters
- hdu 6011 Lotus and Characters
- hdu 6011Lotus and Characters
- hdu 6011 Lotus and Characters
- BestCoder Round #91 1001 (HDU 6011 Lotus and Characters) 1002 (HDU 6012 Lotus and Horticulture)
- HDU 6011 Lotus and Characters【思维】【pair】
- HDU:6011 Lotus and Characters
- hdu 6011 lotus and characters
- hdu 6011 Lotus and Characters 思维
- hdu 6011 Lotus and Characters
- HDU-6011 Lotus and Characters
- HDU 6011 Lotus and Characters
- HDU 6011 Lotus and Characters
- 【HDU 6011 Lotus and Characters】
- Hdu 6011 Lotus and Characters【贪心+暴力】
- HDU 6011 Lotus and Characters
- Lotus and Characters
- Lotus and Characters
- ***【杭电6012】Lotus and Horticulture
- hdu6011 -Lotus and Characters