Codeforces Round #345 (Div. 2) B. Beautiful Paintings __ greedy and Bucket_sort
2016-04-08 21:20
399 查看
B. Beautiful Paintings
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
There are n pictures delivered for the new exhibition. The i-th
painting has beauty ai.
We know that a visitor becomes happy every time he passes from a painting to a more beautiful one.
We are allowed to arranged pictures in any order. What is the maximum possible number of times the visitor may become happy while passing all pictures from first to last? In other words, we are allowed to rearrange elements of a in
any order. What is the maximum possible number of indices i (1 ≤ i ≤ n - 1),
such that ai + 1 > ai.
Input
The first line of the input contains integer n (1 ≤ n ≤ 1000) —
the number of painting.
The second line contains the sequence a1, a2, ..., an (1 ≤ ai ≤ 1000),
where ai means
the beauty of the i-th painting.
Output
Print one integer — the maximum possible number of neighbouring pairs, such that ai + 1 > ai,
after the optimal rearrangement.
Examples
input
output
input
output
Note
In the first sample, the optimal order is: 10, 20, 30, 40, 50.
In the second sample, the optimal order is: 100, 200, 100, 200.
Source
Codeforces Round #345 (Div. 2) B. Beautiful Paintings
My Solution
greedy and Bucket_sort.
I use bool Bucket_sort[maxn][maxn] to store the k sequences,like
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8
1 2 3 4 5
1 3 5
1 5
3
etc.
Please see my code for details
Thank you all !☺☺
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
There are n pictures delivered for the new exhibition. The i-th
painting has beauty ai.
We know that a visitor becomes happy every time he passes from a painting to a more beautiful one.
We are allowed to arranged pictures in any order. What is the maximum possible number of times the visitor may become happy while passing all pictures from first to last? In other words, we are allowed to rearrange elements of a in
any order. What is the maximum possible number of indices i (1 ≤ i ≤ n - 1),
such that ai + 1 > ai.
Input
The first line of the input contains integer n (1 ≤ n ≤ 1000) —
the number of painting.
The second line contains the sequence a1, a2, ..., an (1 ≤ ai ≤ 1000),
where ai means
the beauty of the i-th painting.
Output
Print one integer — the maximum possible number of neighbouring pairs, such that ai + 1 > ai,
after the optimal rearrangement.
Examples
input
5 20 30 10 50 40
output
4
input
4200 100 100 200
output
2
Note
In the first sample, the optimal order is: 10, 20, 30, 40, 50.
In the second sample, the optimal order is: 100, 200, 100, 200.
Source
Codeforces Round #345 (Div. 2) B. Beautiful Paintings
My Solution
greedy and Bucket_sort.
I use bool Bucket_sort[maxn][maxn] to store the k sequences,like
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8
1 2 3 4 5
1 3 5
1 5
3
etc.
Please see my code for details
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn = 1000 + 8; bool Bucket_sort[maxn][maxn]; int main() { memset(Bucket_sort, false, sizeof Bucket_sort); int n, a, ans = 0; scanf("%d", &n); //WA13 1 <= ai <= 1000 so i = 1 to 1000 , not the first time I did i = 0 to 999 while(n--){ scanf("%d", &a); for(int i = 1; i <= 1000; i++) if(!Bucket_sort[i][a]) {Bucket_sort[i][a] = true; break;} } int pairnum; for(int i = 1; i <= 1000; i++){ pairnum = 0; for(int j = 1; j <= 1000; j++){ if(Bucket_sort[i][j]) pairnum++; } //cout<<pairnum<<endl; if(pairnum > 1)ans += pairnum - 1; //we need to add this "if(pairnum > 1)" } printf("%d", ans); return 0; }
Thank you all !☺☺
相关文章推荐
- (hdu step 8.1.1)ACboy needs your help again!(STL中栈和队列的基本使用)
- hdu 1039 Easier Done Than Said?
- leetcode:Contains Duplicate
- 阐述线程状态之间的关系
- Smail语法
- LeetCode之11---Container With Most Water
- 5.jenkins使用Email Extension Plugin插件配置邮件通知
- LeetCode之11---Container With Most Water
- Gradle project sync failed. Please fix your project and try again解决方案
- Logstash1.5 发邮件报警
- flask框架配置email问题汇总,包括163邮箱,qq邮箱,gmail等国内外邮箱
- 学习smail注入遇到的坑
- Service详解(六):进程间通信-AIDL
- MaraiDB社区
- 理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER
- http://blog.csdn.net/chlele0105/article/details/9056951
- 11. Container With Most Water(头尾双指针)
- Mac电脑实用技巧(转自http://sspai.com/32769)
- Thumbnails 框架使用,图片常用操作
- 理论 E-learning课件AICC标准和SCORM标准