B. Making a String【水题】
来源:互联网 发布:linux 浏览网页 编辑:程序博客网 时间:2024/06/05 16:54
You are given an alphabet consisting of n letters, your task is to make a string of the maximum possible length so that the following conditions are satisfied:
- the i-th letter occurs in the string no more than ai times;
- the number of occurrences of each letter in the string must be distinct for all the letters that occurred in the string at least once.
The first line of the input contains a single integer n (2 ≤ n ≤ 26) — the number of letters in the alphabet.
The next line contains n integers ai (1 ≤ ai ≤ 109) — i-th of these integers gives the limitation on the number of occurrences of the i-th character in the string.
Print a single integer — the maximum length of the string that meets all the requirements.
32 5 5
11
31 1 2
3
For convenience let's consider an alphabet consisting of three letters: "a", "b", "c". In the first sample, some of the optimal strings are: "cccaabbccbb", "aabcbcbcbcb". In the second sample some of the optimal strings are: "acc", "cbc".
题意是说,给出n个字母和每个字母使用的最大数目,要求每个字母使用次数都不相同的情况下使得使用的字母数达到最大值、
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int maxn =30;int n,a[maxn];int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } sort(a,a+n); int ans=a[n-1]; for(int i=n-2;i>=0;i--){ while(a[i]>=a[i+1]){ a[i]--; } ans+=max(a[i],0); } cout<<ans<<endl; return 0;}
- B. Making a String【水题】
- B. Making a String
- Codeforces 624B Making a String 【水题】
- B - Making a String-----CodeForces 624B
- CodeForces 624B Making a String
- CodeForces 624B - Making a String
- AIM Tech Round (Div. 2)--B. Making a String
- Codeforces AIM Tech Round (Div. 2) B. Making a String
- cf#AIM Tech Round -B. Making a String-贪心/set
- CodeForces 624 B. Making a String(贪心)
- CodeForces 624B Making a String(贪心)
- CF624B - Making a String
- Making a String
- AIM Tech Round (Div. 2)-B. Making a String(贪心)
- Codeforces AIM Tech Round (Div. 2) 624B Making a String
- codeforces624B Making a String 贪心 排序
- String b = a.intern();
- Codeforces 598B Queries on a String 【水题】
- Nginx + CGI/FastCGI + C/Cpp
- FTP服务器的安装,配置,虚拟用户的创建
- 在Linux CentOS 6.5上安装python2.7.9
- Huge Page 是否是拯救性能的万能良药?
- 代码重构思考
- B. Making a String【水题】
- 安卓开发:继承View实现自定义View
- mysql root密码
- 专业人士解读:为什么在中国“公有云”落地那么难?
- Android studio -VSN 使用笔记
- 242. Valid Anagram
- Java基础操作(一){DOS打开方式、DOS的命令简单操作}
- POJ 1236 Network of Schools 强连通分量
- C++ exceptional Maximally Reusable Generic Containers