A. Bear and Five Cards

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

A little bear Limak plays a game. He has five cards. There is one number written on each card. Each number is a positive integer.

Limak can discard (throw out) some cards. His goal is to minimize the sum of numbers written on remaining (not discarded) cards.

He is allowed to at most once discard two or three cards with the same number. Of course, he won't discard cards if it's impossible to choose two or three cards with the same number.

Given five numbers written on cards, cay you find the minimum sum of numbers on remaining cards?

Input

The only line of the input contains five integers t1, t2, t3, t4 and t5 (1 ≤ ti ≤ 100) — numbers written on cards.

Output

Print the minimum possible sum of numbers written on remaining cards.

Examples

input

7 3 7 3 20

output

26

input

7 9 3 1 8

output

28

input

10 10 10 10 10

output

20

Note

In the first sample, Limak has cards with numbers 7, 3, 7, 3 and 20. Limak can do one of the following.

  • Do nothing and the sum would be 7 + 3 + 7 + 3 + 20 = 40.

  • Remove two cards with a number 7. The remaining sum would be 3 + 3 + 20 = 26.

  • Remove two cards with a number 3. The remaining sum would be 7 + 7 + 20 = 34.

You are asked to minimize the sum so the answer is 26.

In the second sample, it's impossible to find two or three cards with the same number. Hence, Limak does nothing and the sum is 7 + 9 + 1 + 3 + 8 = 28.

In the third sample, all cards have the same number. It's optimal to discard any three cards. The sum of two remaining numbers is 10 + 10 = 20.

___________________

题意: 给你5个数,只能删除其中2个或3个相同的数,输出最小的和 。

这道题其实只要统计(数字范围小于100,可桶排)  每个数字出现的次数,然后对出现二次以上的数字枚举减去他们的结果,然后输出最小的那个答案就可以了。

我蠢就蠢在 老是想暴力  枚举,并没有换一个思路换一个思想方面考虑问题,所以写的蠢了

我一开始只是排序后删除最大的2 或 3 个相同数字 ( 取决于最大的相同的有几个),当时知道有可能会出现删除2个最大的不如删除3个最小的情况,赌了一下数据会不会比较弱…… 事实证明CF的数据是很强力的。

下次不应该赌……

错误代码:

#include<algorithm>

#include<iostream>

using namespace std ;

bool comp( int a , int b )

{

return ( a>b) ;

}

int main()

{

int a[5];

for ( int i = 0 ; i < 5 ; i++)

cin >> a[i];

sort(a,a+5,comp);

for ( int i = 0 ; i < 5 ; i++)

{int cnt = 0 ;

int flag = 0 ;

for( int j = i+ 1 ; j < 5 ; j++ )

{int temp = a[i] ;

if( cnt == 2 )break ; 

if( a[i] == a[j] )

{a[i] = 0 ;

cnt++;

flag = 1 ;

}

if( temp == a[j] )

{

a[j] = 0 ;

cnt++ ; 

}

}

if ( flag == 1 ) break ; 

}

cout << a[0]+a[1]+a[2]+a[3]+a[4] << endl ; 

}

AC代码:

#include<iostream>

#include<cstring>

using namespace std ;

int main()

{

int a[5] , cnt[110] , s = 0 , ans ;

memset(cnt,0,sizeof(cnt));

for( int i = 0 ; i < 5 ; i++)

{

cin >> a[i] ;

cnt[a[i]]++;

s+=a[i];

}

ans = s ;

for ( int i = 0 ; i < 5 ; i++ )

{

int k ;

if( cnt[a[i]] ==  2 )

k = s - (a[i] << 1) ;

else if( cnt[a[i]] > 2 )

k = s - a[i] * 3 ;

if( k < ans )

ans = k ;

}

cout << ans << endl ;

}

A- Bear and Five Cards(codeforces ROUND356 DIV2)的更多相关文章

  1. Codeforces Round #356 (Div. 2)A. Bear and Five Cards(简单模拟)

    A. Bear and Five Cards time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  2. Codeforces Round #356 (Div. 2) A. Bear and Five Cards 水题

    A. Bear and Five Cards 题目连接: http://www.codeforces.com/contest/680/problem/A Description A little be ...

  3. Codeforces 731 F. Video Cards(前缀和)

    Codeforces 731 F. Video Cards 题目大意:给一组数,从中选一个数作lead,要求其他所有数减少为其倍数,再求和.问所求和的最大值. 思路:统计每个数字出现的个数,再做前缀和 ...

  4. codeforces 680A A. Bear and Five Cards(水题)

    题目链接: A. Bear and Five Cards //#include <bits/stdc++.h> #include <vector> #include <i ...

  5. 【BZOJ1004】Cards(组合数学,Burnside引理)

    [BZOJ1004]Cards(组合数学,Burnside引理) 题面 Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Su ...

  6. Codeforces #548 (Div2) - D.Steps to One(概率dp+数论)

    Problem   Codeforces #548 (Div2) - D.Steps to One Time Limit: 2000 mSec Problem Description Input Th ...

  7. (CodeForces - 5C)Longest Regular Bracket Sequence(dp+栈)(最长连续括号模板)

    (CodeForces - 5C)Longest Regular Bracket Sequence time limit per test:2 seconds memory limit per tes ...

  8. 「日常训练」Watering Flowers(Codeforces Round #340 Div.2 C)

    题意与分析 (CodeForces 617C) 题意是这样的:一个花圃中有若干花和两个喷泉,你可以调节水的压力使得两个喷泉各自分别以\(r_1\)和\(r_2\)为最远距离向外喷水.你需要调整\(r_ ...

  9. 「日常训练」Alternative Thinking(Codeforces Round #334 Div.2 C)

    题意与分析 (CodeForces - 603A) 这题真的做的我头疼的不得了,各种构造样例去分析性质... 题意是这样的:给出01字符串.可以在这个字符串中选择一个起点和一个终点使得这个连续区间内所 ...

随机推荐

  1. [置顶] 关于UBUNTU 12.04, 在THINKPAD E430C上WIFI连接不上的问题

    今天,把自己的本本给格式化了,化分成两个大块,在一切都搞定了后,出现了一个问题,即WIFI连接不上,但可以搜索到WIFI的网络,开始以为自己手贱,是不是密码输入了,试了N多次,发现偶错了,不是手贱,看 ...

  2. Js 获取当前月的天数

    function getDays() { //构造当前日期对象 var date = new Date(); //获取年份 var year = date.getFullYear(); //获取当前月 ...

  3. [ios3-地图] 如何在iOS地图上高效的显示大量数据 [转]

    [转至:http://blog.csdn.net/pjk1129/article/details/17358337] 原文:How To Efficiently Display Large Amoun ...

  4. kali2.0 + LAMP

    0x01 更新源 leafpad /etc/apt/sources.list #中科大kali源 deb http://mirrors.ustc.edu.cn/kali sana main non-f ...

  5. 论JSON的重要性☞异步上传过程中data取多组值的方法

    异步上传取多组值一起post改变属性 如图: 看图说话

  6. 【转】深入理解Major GC, Full GC, CMS

    声明:本文转自http://blog.csdn.net/iter_zc/article/details/41825395,转载务必声明. 很多人都分不清Major GC, Full GC的概念,事实上 ...

  7. python 解析html

    #!/usr/local/bin/python2.7 # -*- coding: utf-8 -*-: import requests from pyquery import PyQuery as p ...

  8. Latex 使用小技巧

    Latex引用多篇参考文献 连续引用参考文献时中间中破折号连起来:[1,2,3,4]—>[1-4] 这是只需要在文档开始加入下面语句命令: \usepackage[numbers,sort&am ...

  9. 常用的 css 样式 记录

    1.font-style 属性指定文本的字体样式. 对应的值有: normal 默认值.浏览器显示一个标准的字体样式;  italic 浏览器会显示一个斜体的字体样式;  oblique  浏览器会显 ...

  10. svn恢复到某一版本

    转 经常由于坑爹的需求,功能要切回到之前的某一个版本.有两种方法可以实现: 方法1: 用svn merge 1) 先 svn up,保证更新到最新的版本,如20: 2) 然后用 svn log ,查看 ...