首页 > 代码库 > 【排序+模拟】vijos 1816 统计数字
【排序+模拟】vijos 1816 统计数字
标签:NOIP提高组2007
描述
某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。
格式
输入格式
第1行是整数n(1<=n<=200000),表示自然数的个数。
第2~n+1行每行一个自然数。
输出格式
输出包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。
样例1
样例输入1[复制]
8 2 4 2 4 5 100 2 100
样例输出1[复制]
2 3 4 2 5 1 100 2
限制
每个测试点1s。
来源
NOIP2007提高组
普及组的模拟题 这种水题都刷真的是大丈夫吗
# include<cstdio># include<cstring># include<iostream># include<algorithm>using namespace std;typedef long long LL;const int maxn=200000+10;LL num[maxn];int main(){ ios::sync_with_stdio(false); int n;cin>>n; for(int i=1;i<=n;i++)cin>>num[i]; sort(num+1,num+n+1); LL cur=num[1],tot=0; for(int i=1;i<=n;i++){ if(num[i]!=cur){cout<<cur<<" "<<tot<<endl;cur=num[i];tot=1;} else tot++; } cout<<cur<<" "<<tot<<endl; return 0;}
【排序+模拟】vijos 1816 统计数字
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。