首页 > 代码库 > Best Coder Lotus and Characters
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
5
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
5
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。