- #include<iostream>
- #include<cstdio>
- #include<cmath>
- #include<algorithm>
- #include<cstring>
- using namespace std;
- const int maxn=130000+10;
- struct node{
- string s;
- int t;
- }a[maxn];
- bool cmp1(node x,node y){
- return x.t<y.t;
- }
- bool cmp2(node x,node y){
- return x.s<y.s;
- }
- int main(){
- freopen("result.in","r",stdin);
- freopen("result.out","w",stdout);
- int i,j,k,m,n;
- cin>>n;
- int ans=0;
- for(i=1;i<=n;i++){
- cin>>a[i].s;
- scanf("%d",&a[i].t);
- if(a[i].t==150)ans++;
- }
- printf("1~9 10~19 20~29 30~39 40~49 50~59 60~69 70~79 80~89 90~99 100~109 110~119 120~129 130~139 140~149\n");
- sort(a+1,a+n+1,cmp1);
- int sum=0;
- for(i=1;i<=n;i++)
- if(a[i].t>=1 && a[i].t<=9)sum++;
- printf("%d",sum);
- int f=10,l=19;
- for(i=1;i<=14;i++){
- sum=0;
- for(j=1;j<=n;j++)
- if(a[j].t>=f && a[j].t<=l)sum++;
- printf("%d",sum);
- f+=10;l+=10;
- }
- printf("\n");
- sort(a+1,a+n+1,cmp2);
- for(i=1;i<=n;i++){
- cout<<a[i].s;
- printf("%d\n",a[i].t);
- }
- if(ans==0){
- printf("0\n");
- printf("No");
- return 0;
- }
- int tot=0;
- cout<<ans<<endl;
- for(i=1;i<=n;i++){
- if(a[i].t==150){
- cout<<a[i].s<<endl;
- tot++;
- if(tot==ans)break;
- }
- }
- return 0;
- }
来源: http://www.bubuko.com/infodetail-2524449.html