注意数乘可能会引发数据的溢出
来源:互联网 发布:邓艾和姜维谁厉害知乎 编辑:程序博客网 时间:2024/06/05 22:59
下面贴上一个题目,提示自己要注意数据,不要溢出了!
Appleman has n cards. Each card has an uppercase letter written on it. Toastman must choosek cards from Appleman's cards. Then Appleman should give Toastman some coins depending on the chosen cards. Formally, for each Toastman's cardi you should calculate how much Toastman's cards have the letter equal to letter onith, then sum up all these quantities, such a number of coins Appleman should give to Toastman.
Given the description of Appleman's cards. What is the maximum number of coins Toastman can get?
The first line contains two integers n andk (1 ≤ k ≤ n ≤ 105). The next line containsn uppercase letters without spaces — the i-th letter describes the i-th card of the Appleman.
Print a single integer – the answer to the problem.
15 10DZFDFZDFDDDDDDF
82
6 4YJSNPI
4
In the first test example Toastman can choose nine cards with letter D and one additional card with any letter. For each card with D he will get 9 coins and for the additional card he will get 1 coin.
paste my code:
#include <bits/stdc++.h>using namespace std;typedef long long LL;const int maxn = 1e5+5;char record[maxn];int main(){ LL cot[28];//改编数据的类型! for (int i=0; i<26; i++){ cot[i] = 0; } LL n, k;//原来是int ,后来改变数据的类型就过了 cin>>n>>k; for (int i=0; i<n; i++){ cin>>record[i]; cot[record[i]-65]++; } sort(cot, cot+26); int index = 25; LL sum =0 ; while (k){ if(k>cot[index]){ k -= cot[index]; sum += cot[index]*cot[index];//虽然不是很理解大数的乘法,但是两个在整数范围内的数相乘,若他们的结果超过了整数的范围,那么就会溢出 index--; } else{ sum += k*k; k = 0; } } cout<<sum<<endl; return 0;}
- 注意数乘可能会引发数据的溢出
- 饿汉式单例可能会引发的问题
- WCF传输数据大小限制的配置以及可能会引发的异常
- 可能会引发页面跳转的属性
- 变量溢出引发的错误
- Vaild PerfectSquare (注意数据溢出)
- 类的继承中可能会引发的一处错误
- 静态变量的使用及其可能会引发的问题
- 矩阵的数乘次数
- 一个nullpointExcetion引发的注意
- Java的Finalizer引发的内存溢出
- mfc sprintf引发的内存溢出
- 整型数的溢出
- 关于数的溢出
- C编程时可能会引起溢出的相关函数
- 注意int溢出的情况
- 一次乘的士引发的有关项目管理的思考
- 数乘
- 程序员面试金典——链式A+B
- android动画学习(二)之属性动画
- 使用Spring进行面向切面编程(AOP
- python-对特定的列表进行从小到大排序
- 一个页面上出现多个listView
- 注意数乘可能会引发数据的溢出
- leetcode 268. Missing Number
- USB转串口 FT232/PL2303/CH340 驱动以及使用体会
- 347. Top K Frequent Elements
- oj 1908: 蟠桃记
- ONVIF: gsoap安装过程
- Unity3D游戏开发学习随笔
- Privacy rights
- 解决APP界面卡死Bug