Best Coder Lotus and Characters

Posted り挽歌、花开花落的流年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Best Coder Lotus and Characters相关的知识,希望对你有一定的参考价值。

 Lotus and Characters 
 Time Limit: 2000/1000 MS (Java/Others)   Memory Limit: 262144/131072 K (Java/Others)
问题描述
Lotus有nn种字母,给出每种字母的价值以及每种字母的个数限制,她想构造一个任意长度的串。
定义串的价值为:第1位字母的价值*1+第2位字母的价值*2+第3位字母的价值*3……
求Lotus能构造出的串的最大价值。(可以构造空串,因此答案肯定\geq 0≥0)
输入描述
第一行是数据组数T(0 \leq T \leq 1000)T(0≤T≤1000)。
对于每组数据,第一行一个整数n(1 \leq n \leq 26)n(1≤n≤26),接下来nn行,每行2个整数val_i,cnt_i(|val_i|,cnt_i\leq 100)val
i
?? ,cnt
?i
?? (∣val
?i
?? ∣,cnt
?i
?? ≤100),分别表示第ii种字母的价值和个数限制。
输出描述
对于每组数据,输出一行一个整数,表示答案。
输入样例
2
2
5 1
6 2
3
-5 3
2 1
1 1
输出样例
35
 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<algorithm>
 5 using namespace std;
 6 struct node{
 7     int v,w;
 8     bool operator < (const node &a) const{
 9         return v<a.v;
10     }
11 }e[29];
12 int T,n;
13 int main()
14 {
15     cin>>T;
16     while(T--){
17         memset(e,0,sizeof(e));
18         scanf("%d",&n);
19         for(int i=1;i<=n;i++)
20           scanf("%d%d",&e[i].v,&e[i].w);
21         sort(e+1,e+n+1);
22         long long ans=0;
23         int k=1,p=1;
24         while(e[k].v<=0) k++;
25         for(int i=k;i<=n;i++)
26           for(int j=1;j<=e[i].w;j++){
27               ans+=e[i].v*p;p++;
28           }
29         printf("%lld\n",ans);
30     }
31     return 0;
32 }

人生第一次在BestCoder打比赛。。15分钟AC

以上是关于Best Coder Lotus and Characters的主要内容,如果未能解决你的问题,请参考以下文章

HDU - 6011 Lotus and Characters

BestCoder Round #91 1002 Lotus and Horticulture

Lotus and Horticulture HDU - 6012

hdu 6011 Lotus and Characters

c_cpp 购买和出售Stockhttp的最佳时间://oj.leetcode.com/problems/best-time-to-buy-and-sell-stock/

LeetCode 面试必备100题:Best Time to Buy and Sell Stock II